背景
我有一个个人项目,已经尝试构建了大约5年。它本质上是一个在线游戏 - 一个Web应用程序。它不是“赚钱”的东西,只是我真的想要构建的东西,因此很难找到资金来雇用熟练的团队。
多年来我已经建立了两个完全功能的原型,在概念/用户测试方面都成功了,但从架构角度来看却是惨败的;代码一团糟,无法维护或进一步开发,必须被放弃。
我花费了好几年的时间获取构建客户端所需的技能 - 它是富/状态性且相当复杂的。我将自己的职业生涯和学习与这一开发领域保持一致。我终于到了可以构建一个合理架构、复杂的客户端的地步,可以增长并且不需要在6个月内被抛弃。在这方面有很多工作要做,但至少我知道我可以做到,并且做得相当不错。后端则另当别论。
到目前为止,我已经使用各种组合的PHP、SQL、Ruby、CouchDB、MongoDB、FriendlyORM、NodeJS等重建了后端至少11次。我通常在发现自己的方法存在一些巨大缺陷并重新开始之前没有走很远:从RPC到REST,从关系型到文档驱动。我非常清楚过早优化是万恶之源,但应用程序非常依赖于快速移动、高度动态数据。RESTful API设计、扩展、分片、缓存、认证、复制 - 我对这些都没有太多经验,也不可能很快变得相当熟练。这需要多年的学习和经验。
找一个这个领域的专家更有意义,但没有资金,我觉得我需要成功部署另一个原型才能吸引到合适的人。所以,我只能尽我所能去构建它。
问题
假设不管我如何构建它,后端架构都会出现问题并需要重建,那么在构建“足够”的内容以继续开发客户端应用程序方面,最佳的方法是什么?即使很糟糕,是否有一种方式可以“拼凑”一个JSON web服务呢?使用Ruby和Sinatra还是MongoDB?Django?是否有一些现成的Web服务构建器可以使用?由于没有演示层 - 只有数据,因此不需要完整的全栈Web框架。任何建议将不胜感激。