用 Python 开发 APP 有什么好处和坏处? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
harley27
V2EX    Python

用 Python 开发 APP 有什么好处和坏处?

  •  
  •   harley27 2019-07-07 13:49:21 +08:00 20443 次点击
    这是一个创建于 2317 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,从技术角度来说,本人可能还没有出生。(刚刚开始学 python )

    为了自己的事业,我掌握 python 是必然的。不过同时也想在近期实现几款 app,作为一个业余的副项目。

    如果 python 就能很好地开发 app,我就暂时不用再掌握其他技术了,可以很好地节约时间与精力成本。

    所以我想知道,用 python 开发 app 是什么样的概念。是用硬币拧螺丝,还是砍刀切黄瓜?

    python 在 app 开发圈的地位如何?市面上大多数 app 是用什么语言写成的?

    感谢答复

    44 条回复    2019-07-09 00:04:19 +08:00
    matsuz
        1
    matsuz  
       2019-07-07 14:35:44 +08:00 via iPad   7
    python 在 app 开发的地位就是没有地位
    rzti483NAJ66l669
        2
    rzti483NAJ66l669  
       2019-07-07 14:39:13 +08:00   16
    好处:快
    坏处:用不了
    hztDbFXEed73dkMf
        3
    hztDbFXEed73dkMf  
       2019-07-07 14:43:27 +08:00   1
    开发 app 的后端可以
    Trim21
        4
    Trim21  
       2019-07-07 14:44:53 +08:00   1
    开发 webapp 吧
    noli
        5
    noli  
       2019-07-07 14:49:29 +08:00
    python 在 app 开发圈的地位如何?市面上大多数 app 是用什么语言写成的?

    有 99% 的可能,你在任何 app store,google play 见过至少一次的 App 都不是 Python 开发的。
    xiaoshenke
        6
    xiaoshenke  
       2019-07-07 14:51:09 +08:00 via Android
    没听说 py 还可以开发 app
    chitanda
        7
    chitanda  
       2019-07-07 14:56:09 +08:00 via Android   1
    app 不清楚。Python 写后台,贼爽。不过性能差,而且,一百个人有一千种写 Python 的风格,维护别人的代码太抓狂
    Varobjs
        8
    Varobjs  
       2019-07-07 14:58:54 +08:00 via Android   1
    @chitanda 换成 PHP 也适用
    Lax
        9
    Lax  
       2019-07-07 15:06:06 +08:00
    python 没听说过能写 app。不过 ruby 可以( RubyMotion )。
    hmxxmh
        10
    hmxxmh  
       2019-07-07 15:14:09 +08:00 via Android   1
    @chitanda 有时候看自己的 python 代码都抓狂
    ysc3839
        11
    ysc3839  
       2019-07-07 15:17:38 +08:00 via Android
    app ?指的是面向最终用户,在用户设备上运行的那种?如果是这种情况的话用 Python 写主要部分可能是不合适的,我认为主要问题在于写 GUI 不方便。
    Jirajine
        12
    Jirajine  
       2019-07-07 15:18:46 +08:00 via Android
    桌面应用勉强还算能,pyqt5+pyinstaller。移动端就不清楚了。
    ZeoKarl
        13
    ZeoKarl  
       2019-07-07 15:19:35 +08:00 via iPhone
    反正据我所知,各个大厂的手机 app 都不是 python 写的
    lonelygo
        14
    lonelygo  
       2019-07-07 15:20:31 +08:00   1
    我觉得首先需要做名词解释,对 LZ 说的 APP 做个定义。
    676529483
        15
    676529483  
       2019-07-07 15:24:02 +08:00
    安卓:java
    ios:swift、object-c
    好像 python 理论上也可以写,百度下就有,就是一般没人用于生产
    janxin
        16
    janxin  
       2019-07-07 15:26:13 +08:00
    开发什么 app ?手机 app 吗?

    桌面 APP 用 PyQT5/PySide2 没问题。

    手机 APP 除了原声开发和 JS,其他目前都是边缘状态。开发框架有 Beeware,Kivy,不过说实话你不如考虑一下 Flutter,总比 JS 那种一次编写到处调试要好一点。
    raptor
        17
    raptor  
       2019-07-07 15:32:48 +08:00
    说 python 不能开发 APP 的可以试试 kivy,不说好不好,至少还是可以的……

    当然不推荐,开发 APP 的正道还是原生开发,其次是
    Flutter 和 RN
    caqiko
        18
    caqiko  
       2019-07-07 15:56:54 +08:00   10
    黄瓜拧螺丝
    eminemcola
        19
    eminemcola  
       2019-07-07 16:18:34 +08:00
    楼主说的 APP 是特指目前跑在主流移动端设备上的 Mobile App 吗?如果是的话,可以考虑使用 Kivy、Beeware 之类的跨平台技术,它们能帮助你用 Python 写出跑在各个平台上的应用程序。

    但总归来说,还是不建议使用 Python 进行 App 开发。核心问题在于 Python 在移动应用开发社区几乎没有任何地位,各类技术场景的 library 都很匮乏,而且当你在开发过程中遇到 bug 时很可能没办法在搜索引擎上找到合适解决方法。你实际在这上面耗费的时间很可能远高于你直接去学习 Java 或者 Swift 然后开始原生开发。
    ww2000e
        20
    ww2000e  
       2019-07-07 16:30:59 +08:00
    app 指的是什么? 手机应用, 现在貌似要么原生开发 android 用 java c++,ios 用 object-c swift,要么用 js 前端技术来开发,python 目前还没听说。pc 应用,写 gui ?可用语言就多了 c++,c#,java 等等,还有 js 都行。python 写的 pc 应用,我就用过一个,calibre,管理电子书的,貌似用的 pyqt 写的。感觉以后趋势是 gui 都用前端 js 来写了。
    love
        21
    love  
       2019-07-07 16:38:22 +08:00
    如果你追求一种语言搞定所有的话,还是学 js 吧
    limuyan44
        22
    limuyan44  
       2019-07-07 17:39:56 +08:00 via Android
    你还不如万能的 js
    fanhaipeng0403
        23
    fanhaipeng0403  
       2019-07-07 18:16:28 +08:00
    黄瓜拧螺丝
    jrtzxh020
        24
    jrtzxh020  
       2019-07-07 19:02:22 +08:00 via iPhone
    楼主说的 app 究竟是啥
    Tink
        25
    Tink  
    PRO
       2019-07-07 19:11:45 +08:00
    当然能啊,想想诺基亚的塞班
    raysonx
        26
    raysonx  
       2019-07-07 19:13:18 +08:00
    我觉得中文语境下 app 一词已经完全等同于手机 app 了,虽然英文语境下 app 还可能指 web app 或在桌面 app。
    voidlhf
        27
    voidlhf  
       2019-07-07 19:28:45 +08:00 via Android
    嗯,移动端的话目前基本上 Android 和 IOS,Android 原生开发的话目前用 Java 和 Kotlin 比较合适,IOS 是 Object-C 和 Swift。跨平台的有 RN 和 Flutter 之类的。我不知道 Python 能不能开发 APP,但目前来说没听过有人用 Python 开发 App 的,没有多少人这么干的话,你就会面临一个问题,一旦你用 Python 开发 App,开发过程中遇到的问题你在网上都找不到解决办法的,而且很多东西需要你自己造轮子的。所以用 Python 开发 APP,没有好处,坏处一堆。
    z1421012325
        28
    z1421012325  
       2019-07-07 19:30:38 +08:00
    @Trim21 我想问一下 python web 现在用怎么样?我在学
    mumbler
        29
    mumbler  
       2019-07-07 19:30:54 +08:00 via Android
    我的经验是凡是想偷懒走捷径的人最后都会绕更远的路
    murmur
        30
    murmur  
       2019-07-07 20:30:30 +08:00
    如果是桌面 APP 没有推荐的理由 你如果说 PYQT 么。。。
    niubee1
        31
    niubee1  
       2019-07-07 20:44:56 +08:00
    工具链不全, 写 Helloworld 能跑, 写点实用的就........

    如果你不是打算立地成佛发下宏誓大愿要推广 Python 写 App 的话。

    还是出门向右去看看 Flutter。Python 熟的话,Dart 写起来还是蛮顺手的
    itning
        32
    itning  
       2019-07-07 21:10:22 +08:00 via Android
    个人觉得 弱类型语言不适合干这个
    kazeik
        33
    kazeik  
       2019-07-07 21:13:48 +08:00   1
    别走火入魔啊,胸逮~
    CaMnter
        34
    CaMnter  
       2019-07-07 21:24:18 +08:00
    搞 Android 端的,之前看架构组用 py 写了一个 DAG 「有向无环图」 DSL 生成对应的 java 代码的工具,感觉挺方便...
    xiaofengchen
        35
    xiaofengchen  
       2019-07-08 07:50:49 +08:00 via Android
    @itning Python 是强类型语言
    xiaofengchen
        36
    xiaofengchen  
       2019-07-08 07:52:47 +08:00 via Android
    有个库叫 kivy,能开发 APP,楼主可以了解下
    leimao
        37
    leimao  
       2019-07-08 08:10:17 +08:00
    工作后感觉基本没人用 Python 做 APP 开发
    RyougiShiki
        38
    RyougiShiki  
       2019-07-08 08:51:02 +08:00
    app 不是一个工具能解决的,题目的 python 换成其它语言同样成立,有些人看见 py 就黑简单 java 你用的好吗? python 不能做 app ?前公司 app 都是 python 后台。
    说正经的,前后端分离是主流,kivy 一个语言跨平台 bug 多不建议,至少 js+python,但两门学习成本高,楼主一个人是搞不定 app 的,python 或 js 选一种学就行,学编程可以锻炼自己思维,以后成复合型人才了可以做行业顾问,创业的话可以找技术合伙。
    ugu
        39
    ugu  
       2019-07-08 08:56:02 +08:00
    python 本身性能就差,再打包成 APP,体验可想而知。开发 APP 最好原生,想要跨平台可以上 flutter
    LokiSharp
        40
    LokiSharp  
       2019-07-08 09:02:45 +08:00
    如果是安卓 App 的话可能你比较适合 Kotlin
    sumahe
        41
    sumahe  
       2019-07-08 10:22:29 +08:00
    用 node 吧,electron
    Fizzyi
        42
    Fizzyi  
       2019-07-08 10:42:57 +08:00
    python 还是写爬虫或者后端吧
    shede333
        43
    shede333  
       2019-07-08 14:30:21 +08:00
    zkqiang
        44
    zkqiang  
       2019-07-09 00:04:19 +08:00
    跑偏了,Python 并没有成熟的开发 App 的手段
    想开发 App,建议学 Flutter,省时省力入门不难
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3463 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 05:03 PVG 13:03 LAX 21:03 JFK 00:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86