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

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

WBOY
WBOYOriginal
2016-06-06 16:23:342095browse

本人对服务端的开发了解的比较少,不知道大侠们推荐学习些什么技术,看些什么书,或者是好的建议?
还有目前的主流的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上面的开发是没有多大的区别的,主要是要明白则那样那个的业务和需求是最关键的!!!
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn