创业公司应该基于什么技术和框架搭建一个应用

准备做一个类似社交的应用,后端提供restful API,前端有页面端和手机端,手机端准备使用iOS/Android平台原生框架开发,请问后端和前端有什么技术和框架可以使用,应该采用什么技术和框架?有什么开源项目吗

补充:本人C++出生,做过iOS和Android,所以请各位不吝指教,目前想法:后端以java为主,使用spring+hibernate实现,前端没有什么经验,另外,有没有适合创业公司的开源项目

结论:感谢大家的意见,目前基本确定使用node.js搭建后端应用, 曾经考虑的:

j2ee - 如有明所说,太重
php/lamp/lnmp - 对php不熟,有学习成本
RoR - 似乎不适合高并发,考虑将来的扩展性,放弃,twitter之前使用RoR,后来也不用了
python - 听说web应用性能不好,未自己考证过
node.js - uber使用nodejs, 如熊森特所说,开发较快,决定采用

感谢有明,熊森特,Erichain_Zain,hi,zzxxasp等朋友的意见

阅读 13.3k
18 个回答

可以试试用Node.js 我们公司的后端(实时通信加rest api)我一个人平均一天三四小时的样子 基本一个月写完

可以作为第一版推出 之后可以通过SOA等方式转型也可 继续开发也可

至于稳定性上暂时还没碰到明显的问题,不过据说并不稳定。但是还是那句话,对于创业公司最重要的基本是开发速度,稳定性的问题可以之后逐步解决。

技术路线没确定就创业了?!

==============2016-01-21 增加内容以下==========

本来不想说啥的,既然大家都点了踩,还是有必要来说说:

我不是像楼上那些给建议的,我是来泼冷水的。

我没记错的话,这个问题我是第一个回答的,当时题主只有下面这些话:

准备做一个类似社交的应用,后端提供restful API,前端有页面端和手机端,手机端准备使用iOS/Android平台原生框架开发,请问后端和前端有什么技术和框架可以使用,应该采用什么技术和框架?有什么开源项目吗

准备做一个类似社交的应用...

首先,从上面的话,我个人认为题主既然可以提出这样的问题,那题主在该公司的技术地位应该是不算很低,至少可以说是可以主导产品的技术的,然而你来跟我说,技术路线没选好,准备开始做类似社交的App,我只能在这里预祝题主创业成功了,虽然说成功的概率不大。

如果是真的可以主导产品的技术架构,必然选择你最熟悉的啊,最能驾驭的啊,不然你还主导个屁,选一个你不会的技术架构,另请高就?我想问:出问题你能解决不?就算能解决,你的时间成本呢?

请问后端和前端有什么技术和框架可以使用...

是的,现在能出来在市面上的框架,不管是前端还是后端,都可以用,在没能清楚题主的技术路线的时候,我最多只能说这么一句话:框架能不能用关键在人。既然框架本身出现在市场上了,就必然有框架的可用性。

应该采用什么技术和框架...

你会什么?你熟悉什么?这不是很好选择么?这种问题还需要问。

有什么开源项目吗...

这不是伸手党么?本人自己的偏见:伸手党几乎都是当不了一名好的程序员。

对于评论的:创业和技术路线关系不大,和商业模式还有未来的发展有很大关系

我只能说:创业初期,最重要的就是快速把产品做出来好不?跟技术路线关系不大,呵呵。做不出产品,在还没有资格谈商业模式和未来发展的时候,你已经夭折在产品这里了。

没有起步,你谈个毛线未来。别以为创业只是玩玩,想干就干。但凡认认真真创业的人,都不会跑到这里问这种问题。

以上,欢迎撕逼。

选你最熟悉的,现在流行的各大语言都可以完成你的需求

创业公司最重要的是快速推出产品,检验自己的商业模式是否靠谱

时间浪费得越多,你的资金压力越大

不要在探索新技术上浪费时间,出产品才是王道

至于优化,等你产品接受了市场考验再说

不建议题主选择 Java 。
首先 Java 太重,开发和测试都需要很大的功夫,一些脚本语言几行代码实现的功能,Java 可能需要几十上百行,在开发效率并不适合创业团队。
其次 不能说 Java 没有开源项目,只是 Java 的开源项目都不太适合创业团队使用。这和使用 Java 的思路是一样的,Java 追求运算效率,所以大多数开源程序都独成一套系统,需要研读文档,深度研究才能掌握。而大多是脚本语言追求开发效率,所以大多数脚本语言的开源程序都简单易懂,方便上手。

另外题主这样弄真的太重了,你这样创业团队里技术团队人手需要太多。

给楼主一个简单的参考。

我们不是创业公司,不过是专门为创业公司提供前期的MVP外包的,当然也有持续迭代的客户。
本人在敲代码上有15年的草根经验,因为从未在一些所谓的大公司大团队里呆过。

在2015年及之前,一直带领我的小伙伴采用PHP+Java+MySQL的混合模式,从2012年开始接触node,并在2013年开始编写第一个基于node的服务XMQ(发发短信、邮件和事务什么的)。
但自2015年的最后一个月,也就是12月开始,我们开始招聘的了一批新人(PHP、Java的初学者),来了后直接和我一起边学习边做的采用node,一如既往的整了个VDCS.node框架,虽然都是新人,都已经可以进行常规应用的开发。
我们的切身体会是,node上手更快,部署调试也更方便(调试的问题,是通过在框架里设计开发模式,而进行“热”加载),对工作电脑和服务器(云主机)的要求都瞬间降低。

目前已经有两个项目正在混合上线使用,而2016年开始,我们的所有新项目都将采用node+的开发模式,Java和PHP可能要成为历史(可惜了数年的VDCS.java和VDCS.php)。

lamp 或者lnmp 就可以,早起的确是产品越早出来越好,其实PHP在web 开发方面比较成熟并且开发速度快,也有workerman swoole这样的网络框架可以做后端服务用,都有比较活跃的社区支持

前端的话有很多,不使用框架的也不少,因为定制化需求很多,很多框架可能对思想有所约束。
自己用过的前端框架:bootstrap,其他的没用过不好评价,bootstrap反正挺好用,中文资料也比较全。

如果定制化强的话,没必要使用框架,CSS通过less或者sass开发也比较方便,js方面用jquery也足够了。

对于前端,框架也分CSS框架和JS框架。

CSS框架可以采用Bootstrap,Foundation等

JS框架的话,可以采用Angular,React,Vue.js

Angular学习路线可能稍微陡一点。

感谢大家的意见,目前基本确定使用node.js搭建后端应用, 曾经考虑的:

j2ee - 如有明所说,太重
php/lamp/lnmp - 对php不熟,有学习成本
RoR - 似乎不适合高并发,考虑将来的扩展性,放弃,twitter之前使用RoR,后来也不用了
python - 听说web应用性能不好,未自己考证过
node.js - uber使用nodejs, 如熊森特所说,开发较快,决定采用

感谢有明,熊森特,Erichain_Zain,hi,zzxxasp等朋友的意见

用php吧,门槛低,人好招,技术也成熟。
nodejs门槛略高,人难招,就算有同类方案也比php少,除非你有组件开发能力。

选用最熟悉的技术,不需要什么架构,直接依托阿里云即可,整套解决方案。

后端推荐springboot或者国内的dubbo

选择php是你最好的选择

我们公司用的是dubbo
前端是 jq + sea.js

创业公司选择什么都不是错的
第一看你技术储备 技术储备 那个技术最多 就选择那个技术
第二 如果都没啥储备,就选择一个不容易出错的 也是不错的选择 比如Web选择Asp.net JSP
最后 当然向我这么激进的也有 前年开发App直接 Nodejs + Swift 如果你觉得实力经验足够 选择开发最快的也不会有错~

支持楼主。。。。。。。

可以用Wex5开发平台,个人感觉是当前中国比较有潜力和发展前途的开发平台,从近四五年的使用经历来看,起步公司的后台技术更新快,前台用户友好性提升明显,从技术人员的开发难度方面提供了很大的便利,开发效率相对于其他技术或者框架来说提高了不止一个层次,对软件公司来说不能不说是一个节约开发成本的理想武器,对想从事IT开发的人员来说,应该是最快速易学的开发工具了。建议试试。

宣传栏