我计划制作一个显示位置信息的网站。
问题是,由于页面对用户是交互式的,我正在考虑使用node.js和mongoDB(对node.js很有能力,不是吗?)。
请推荐我哪些语言适合node.js&mongoDB。
Python?还是应该使用玉石进行开发?
另外,PHP Codeigniter有用吗?
(我习惯于用PHP开发,我想知道PHP和node.js的组合是否不错)
提前谢谢。
一般来说,对于相对简单的应用程序(如果您的用例很简单),我不希望使用两种不同的语言。在某些用例中,你可能无法避免这种情况,例如,你必须使用只存在于其中一种语言中的库。
我会使用Jade和ExpressJS作为后端,但我认为模板语言是一种高度个性化的选择。看见http://expressjs.com/api.html对于ExpressJS示例
请参阅https://npmjs.org/browse/depended查看流行的NodeJS包的列表。有些人更喜欢使用EJS(嵌入式javascript)或ECO(嵌入式coffeescript)或其他众多模板系统中的一个,而不是Jade。
还请考虑使用CoffeeScript,而不是自己编写JS(CoffeeSript会自动转换为JS。它添加了一些整洁的功能,当你编写纯JS时很容易出错。
从性能的角度来看,当您有许多返回少量数据的API调用时,NodeJS是最好的。我在使用Jade作为后端的ExpressJS性能方面有很好的体验。
我可以推荐NodeJS初学者的书,然而,这本书一如既往地具有高度主观性。
我很难判断Python是否是一个更好的解决方案。我建议你看看龙卷风和金贾2作为模板引擎。NodeJS有时会得到一个回调地狱,因为它的异步性,请参见例如。http://callbackhell.com/
请注意,在任何情况下,为了提高安全性和快速的静态文件(CSS、JS)交付,您可能需要在NodeJS/Python服务器之前添加一个反向代理层(Nginx通常提供更好的性能,但Apache也能工作)。