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 · 19863 次点击
    这是一个创建于 1995 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,从技术角度来说,本人可能还没有出生。(刚刚开始学 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 开发的地位就是没有地位
    Humorce
        2
    Humorce  
       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。移动端就不清楚了。
    nieyujiang
        13
    nieyujiang  
       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  
       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   ·   实用小工具   ·   1598 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.