用于构建Web应用程序的技术堆栈

时间:2011-09-09 13:20:34

标签: mysql django json extjs

我是一个老C ++ /算法人员,正在首次尝试构建Web应用程序。我可以使用社区的帮助来做出正确的架构/技术堆栈决策。以下是我们要做的事情:

数据有一个简单的关系模型。大多数应用程序都是简单的CRUD,具有高可用性和各种UI控件,以匹配公司遵循的相当复杂的工作流程。通常需要在一个页面中显示/编辑来自多个表格的数据 - 想想可以充分利用大型监视器(网格,拖放,数据树形显示等)的可编辑仪表板。还有一些服务器端文本处理要做,Python是公司的首选处理语言。

该公司希望尽可能使用开源,但需要最好的UI控件/小部件,并支付商业UI包。他们希望确保有一个规模适中的开发人员社区,他们使用所有涉及的技术,这样他们就可以在找到其他人后无法维护/增强应用程序。将有十几个并发用户。

我在这里阅读了各种问题/答案,自己做了一些研究,并与一些构建网络应用程序的同事交谈,以便为这个应用程序决定适当的技术堆栈。以下是我的想法:

  • UI的Sencha ExtJS
  • 用于数据传输的JSON
  • Django作为服务器上的Web应用程序框架
  • Apache作为Web服务器
  • MySQL作为RDBMS
  • Linux作为O / S
  • Github用于开发存储库
  • 应用托管的Webfaction(完整shell访问,长期流程支持,Linux / Apache / MySQL / Django支持等)
  • 通过数据库中的用户名/密码进行身份验证

我很想让一些有经验的人验证这个技术堆栈。如果您已经构建了高可用性CRUD风格的网络应用程序,请告诉我您对我的预期选择的看法,如果我遗留任何重要信息,请告诉我。

谢谢!

罗恩

1 个答案:

答案 0 :(得分:4)

随着你的进展,这将归结为你感觉舒服的东西 - 不要过早锁定你的组合。我相信你已经列出了一个非常实用的堆栈。我对Sencha ExtJS没有任何经验,但其余的都是坚实的东西。 Django是一件很棒的事情,即使你没有Python经验,也很容易学习(而且很有趣!)。

但是当你走的时候,你会发现有些事情只是因为你的背景而感觉感觉正确,或者因为它与你的堆叠的其他部分相符,并​​且可能会找到更合适的东西你的情况。

我实际上得出的结论是,现在,可用于网络堆栈的各个部分都得到了很好的发展,并且进行了很好的探索,以至于你(几乎)不会出错 - 什么是更重要的是应用程序设计。人们往往会陷入技术决策,并且不再关注应用程序本身。