手游开发Python和php哪个更快速呢?
作者:黄晓敏3023 | 2021-09-01 19:03
先介绍本人以前工厂工人,后来自学做过单片机,目前涉及手游cocos2d-x.但是网络方面的知识匮乏,现在我们团队打算做网络的手游,程序只有2名,都是前端,后台知识需要重新学.问了很多的朋友,有人说使用Python的,有人说使用php的.Python据我了解有一个叫Firefly的游戏服务器引擎,PHP就不知道了.对了,我们的游戏主要以短连接为主.其实我
先介绍本人以前工厂工人, 后来自学做过单片机, 目前涉及手游 cocos2d-x. 但是网络方面的知识匮乏, 现在我们团队打算做网络的手游, 程序只有2名, 都是前端, 后台知识需要重新学.
问了很多的朋友, 有人说使用 Python 的, 有人说使用 php 的. Python 据我了解有一个叫 Firefly 的游戏服务器引擎, PHP 就不知道了.
对了, 我们的游戏主要以短连接为主. 其实我们的需求就是一个能够比较快上手适合做服务器端的语言. 请教下哪个语言比较适合我们现在的情况?
其实我个人比较喜欢Python, 名字很酷, 有没有什么框架可以介绍呢?
回复内容:
PHP要写好,不是一般的难,常常要从整体框架上做一些改动,而且得有一个项目级别的大牛牵头写,否则很容易写成学生级别的项目(好像别的语言也多少有点,但是PHP表现太突出了这点)
至于通讯方面,php有swoole这类的长连接server socket能做到一定的缓解,次一点的可以用rest接口,高并发node.js 都不是个事,根据项目而定。
至于什么nosql 负载均衡等等严格说跟语言没多少关系,所以还是看项目的资源来决定。
站在一个多年PHPER的角度,我只能告诉你:PHP做产品 demo易出,精品难寻。
Python没必要了, 现在大蟒的程序员都跑Golang的船上了
题主敢不用PHP呢, 那么好的语言(笑)
PHP人好招, 开发容易, 库又丰富, 对接方便. 还有啥不好的
PHP比python好用。曾经是Python程序员,python就是优雅就是绕,PHP就是简单直接。
对于说PHP不能做socket的人,请参考这里 matyhtf/swoole · GitHub
PHP写Server很简单,而且很强大。
用php做手游后台的非常多,很多成名手游是用php做后台
作为一个3年PHP经验的程序员,我的建议就是:
如果你追求快速快速开发,招人简单,用PHP是非常不错的。但是,如果你预计你的项目以后会做得很大,需要代码更好,选择其他语言吧。不一定是python,因为你将一个项目的语言定死,那么这个项目的局限性就太多了。队列这一块用nodejs、业务逻辑可以用python,ruby也不错哦,前端通信用nodejs的有一个html5通信框架(名字我忘记了),反正选择很多啦。数据库呢,redis做热点数据,mongodb做持久化存储,或者其他什么什么的。
说得太复杂了……总之就是,在开发进度和项目框架级别上做一个均衡。先用PHP做没问题的,PHP可以胜任很多事情,虽然某些时候他的表现会很糟糕。
必须php,推荐CI框架,配合nginx+mysql+redis。
nodejs的通信框架是http://socket.io,网易有一个基于http://socket.io的游戏框架。websocket,socket,http都有很好的支持。
php的类http://socket.io有一个swoole,上手简单。
如果楼主图快, 应该是找个会做的人来做(Java的 Python的 甚至Erlang的)
如果资金匮乏要自己搞, 那也就是自学网络编程(Java的 Python的 甚至Erlang的)
否则
你用php做, 那后面呢
要么项目死了
要么项目做起来了, 死在php要重构上....
不是说php养不活, 而是php要满足现有的游戏发展需求 速度慢难度大,
你能招到的php程序员应该大多数也只是web应用级别的
如果游戏是简单的需求用REST服务器就能搞定的话还好
但是之后呢.
升级了php还方便么还容易么 还能招到会做的能做的么
正如王海所说的, demo可以(某些类型demo都未必可以), 正式项目的话, 还是让php靠边站站吧
不要强调php可不可以, 要强调php合不合适
php做后端?我劝你如果没大牛还是别用php,erlang 要不就c++ lua必备。
参见:
推荐AppGyver等十大前沿移动应用开发工具
iOS开发者必备的五大编程类工具
推荐4项适用新手入门的游戏开发工具
介绍8款游戏开发工具
国外15种手机游戏引擎和开发工具介绍
我也建议使用PHP,因为高效简单,如果做到后期。真的遇到大流量处理的瓶颈,可以采用C++来做server。业务逻辑层,仍然推荐使用PHP来完成。
推荐阅读
-
如何解决《如何限制ActiveDataProvider的查询?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《C++预处理器连接操作》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《解码Base64urlUInt编码的值》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Android-OpenGLES2.0:模拟器(Works)-设备(不)》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《AndroidStudio2.0即时运行不起作用但出现此提示?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《无法使用iphonesimulator9.2构建模拟器》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《两次指针自由调用》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《设计模式以访问来自不同来源的相同数据》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《使用NewtonSoft将JSON对象反序列化为.Net对象》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《返回+重置成员变量最有效的方法?》经验,为你挑选了4个好方法。 ...
[详细]
-
如何解决《提高Aurelia框架在移动设备上的性能》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Tomcat:使用数据库连接部署两个应用程序时出现HikariCP问题》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Gitblit推动被拒绝的原因没有在intelij-idea中显示》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《将div宽度内的文本框居中:100%在所有边留下一些边距》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何将DTO的ODataQueryOptions应用于基础EntitySet?》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《Rails部署不显示生产中的图像》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Jails只在Rails应用程序中工作一次(在页面刷新后不是第二次)》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《如何在字符串中的特定符号之前获取字符串》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《R中的行乘法》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《csv:writer.writerows()拆分我的字符串输入》经验,为你挑选了1个好方法。 ...
[详细]