• 技术文章 >后端开发 >Python教程

    打算做一款 Android APP,想了解一些移动开发中服务器端开发的技术,如果用python开发采用哪个框架及相应的技术?

    2016-06-06 16:23:34原创1331
    本人对服务端的开发了解的比较少,不知道大侠们推荐学习些什么技术,看些什么书,或者是好的建议?
    还有目前的主流的app的服务端都用的是什么技术、框架,如果用python开发采用哪个框架及相应的技术?
    先谢谢各位的回答!

    回复内容:

    一般App都是需要和服务器交互的,App开发者特别是个人开发者是需要掌握一门服务器端编程技术的。
    常见的服务器端编程技术有.net Java php python 等等
    既然题主提到Android App,你不如去学习Java服务器端编程。
    先系统的学习一下Servlet,安装运行Servlet的容量Tomcat
    还得学习一下数据库,推荐MySql,练习简单的增删查改语句
    学习Java连接数据库的方法JDBC
    服务器与App交互数据推荐使用JSON
    PS:手机打字,先说这么多,要是有疑问,请评论留言 我不是大侠,以下是个人拙见,欢迎批评指正:
    首先,服务端开发涉及到的东西比较多:
    1、操作系统
    操作系统现在的情况是三分天下:unix、linux、windows。建议学习linux,主要是掌握基本的服务器管理与配置命令,能够编写shell脚本进行部署以及自动化管理等。
    2、服务器
    Nginx、Apache都是常见的服务器。这两个服务器各有各的特点,我这里不能说哪个一定比哪个好。网上也有很多对这两个服务性能的对比与讨论可供参考。
    3、数据库
    数据库有Mysql、Oracle、SQL server等这些都是关系型数据库,还有非关系型数据库:memcached、mongodb、redis等。建议了解各种数据库的特点,根据自己的业务模型,选择最优的搭配。
    4、开发语言
    开发语言有很多python、php、perl、c++、java...基本上大部分语言都可以开发后台。每种语言都有自己的特点与框架,像这些语言都有很多公司用。
    据我所知,使用python作为后台开发的有知乎、豆瓣、quora,而且现在大部分的新型互联网公司都倾向于使用python作为后台的开发语言。
    python作为后台开发主要是可以实现快速的开发,同时可供选择的开发框架也有很多,比如:flask、django、tornado、bottle等。建议了解这些框架的特点。
    5、TCP/IP协议
    了解基本的协议:HTTP、DNS、SMTP、SNMP。。。
    6、数据交换格式
    protobuf、json、xml。。。
    这里面最节约空间与速度最快的是protobuf,一般使用json就好了,json的在空间与速度上都优于xml。如果是特别追求节约空间与速度就使用protobuf。
    ...


    主流的app的服务端:
    应该没有所谓的主流吧 - - 我只知道instagram使用了nginx、django、Gunicorn。。。
    像instagram这么多用户的应用后台绝对不是这么简单。What Powers Instagram: Hundreds of Instances, Dozens of Technologies这篇文章是他们公布的架构,可供参考,另外网上也有一些逼人翻译与分析的文章。

    最后说下我的用法:
    目前使用nginx+uWSGI+flask
    flask是python的一个轻量级框架,上面有介绍。
    nginx主要是处理静态的请求,动态的交给uWSGI。
    uWSGI是一个服务器,使用它可以很方便的部署python应用,而且处理速度也比较快。
    网上可以找到很多关于nginx+uWSGI+flask的配置介绍。 你不说需求和应用场景,下面的回答也只能是告诉你一些「逻辑上完全正确但毫无意义的话」了。

    我倒是有个建议,既然你打算做一个app,并且写后端的server,倒是可以先了解一下OAuth2.0, 然后 ***先写出详细的RESTFUL的API接口文档***, 后端找一个糙猛快的python框架实现你的接口,后期你的用户增加、服务压力增大,再考虑怎么让它变快。 做adnroid app 跟你了解服务器开发技术没有半点关系。
    技术选型关键看2点:
    1、从业务需求,得出技术架构。
    2、你擅长的技术

    我觉得你的问题上述2点都没涉及到,无法回答你的问题。

    ps:干嘛聊python,如果node.js你擅长的话,完全可以搞定。 可以考虑 nginx+Tornado+mongodb这一个架构,在设置网页时,确保其响应性(能够适合屏幕大小自动响应尺寸以及布局),这样web和手机就可以通吃了。还可以考虑使用HTML5。 作为一个正在做Android APP科创的大学生,菜鸟我要第一次回答问题啦 首先不管是想要开发NATIVE APP还是WEB APP,服务器都是主要做HTTP响应的,都可以当成WEB 服务器来做,小型服务器推荐选择LINUX+Nginx+MariaDB+PHP开发,服务器要做的具体的话就是处理GET请求,或POST互传JSON数据。我们就是用PHP开发的,简单易用。Python的话不了解,不过据说效率低于PHP。 各位大侠,我是新手。但是我说一下我的意见,APP的开发分成2种不同类型的APP。一种类型是native app,一种类型是 c/s 架构的类型。顾名思义,Native APP是完全运行在操作系统上的一种软件,不涉及到开发相关的类库和网络协议,就如同office软件运行在weindows操作系统上一样。c/s架构的APP与Native app是不同的,因为这种APP 在手机客户端只是相当与一种UI界面,只是调用一些操作系统提供的网络协议方面的服务,至于其他的是不提供的!!所以APP的的开发和我们实际的c/s上面的开发是没有多大的区别的,主要是要明白则那样那个的业务和需求是最关键的!!!
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python app
    上一篇:C/C++ 这类更底层的语言,如果把平时常用的高级函数和功能都实现,能否达到 Python 的开发效率? 下一篇:github中适合新人阅读的Python项目有哪些?
    PHP编程就业班

    相关文章推荐

    • python知识总结之csv文件的写入与读取• python实例详解之xpath解析• Python数据结构与算法学习之双端队列• 带你搞懂Python反序列化• 一起来分析Python队列相关应用与习题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网