构建完整的应用程序(设计,语言和数据库)

时间:2013-03-06 21:41:37

标签: web-applications architecture

我有一个想法是创建一个评论应用程序(后端和多个前端),我正在努力采取哪个方向。

对于上下文,假设应用程序类似于Yelp.com,用户会发布评论(到产品),然后阅读其他用户的评论。

基本上,我的主要想法是创建一个基于API的后端,一旦完成,我会构建(或建立他们)一个网站和移动应用程序(Android / iOS)来使用API将检索和发布数据。另请注意,此应用程序还将使用(只读)其他外部API。

对于下一个问题,请考虑托管。一开始,我可能会坚持常规的Linux托管,然后随着我们的成长而努力。 此外,这是我的“家庭”项目,所以除了我的时间之外,没有太多钱可以投入其中。

问题:

1)设计:

这真的是最好的方法吗?是的,我很想从头开始创造一些伟大的东西,但我应该从一开始就担心吗?或者,我应该采取更简单的方法 - 没有API,只有网站&移动应用程序直接查询和发布数据 - 然后一旦我们成为Yelp或Facebook然后重构整个事情就变得疯狂?

2)语言和框架:

我已经是微软开发人员超过10年了,在过去的几年里,我已经开始喜欢开源语言了,我学到了一些Ruby on Rails和PHP,我想坚持下去(开放)这个项目的源语言)。考虑应用程序的易用性,快速开发和未来发展(包括招聘开发人员等),您会建议使用哪种语言?

3)数据库:

同样,来自Microsoft的SQL服务器对我来说是一个简单的选择,坚持开源概念,MySQL是最好的选择吗?

我认为这涵盖了它。如果有任何问题,请提出要求,我将编辑原始帖子,以包含我错过的任何内容。

谢谢!

1 个答案:

答案 0 :(得分:1)

由于这是一个小项目,我建议将其作为参考点。这迫使你的手做出我认为的一些决定。

  1. 如果您没有立即做好移动工作的准备,那么API可能会过度。此外,您可以随时将代码重新分解为隐藏在服务层后面。

  2. 选择你喜欢编码的语言。在我看来,语言之间的一些差异才开始大规模出现。例如,许多拥有大量数据的大公司正在逐渐远离Ruby。但现在不要担心。找到一种让你开心的语言,这样你就可以快速获得一些东西。

  3. 由于你的预算有限,我会选择MySQL。如果您来自SQL Server,这不是一个巨大的学习曲线。很多概念 - 甚至语法 - 很好地转移。

  4. 在我看来,为了获得一个想法,你需要让它变得有趣。这意味着有趣/有趣的语言和工具保持简单。

    如果你开始获得大量成功,你总是可以雇佣比你聪明的人来帮忙。 =)