我正面临着未来开发一个新的web应用程序的问题,我想知道如何决定使用什么框架。我决定用Python作为我的首选语言。但是仍然有许多框架可供选择!更普遍的是,你如何在不同的类似技术之间做出选择,这些技术仍然在工作中,就像最新一轮的web框架一样?我很好奇你决定你从未使用过的技术的过程是什么。
发布于 2009-03-06 03:03:54
认识到没有一个选择是完美的--甚至没有非常好的选择。
不管你选择什么,总会有人提出--他们声称--更好的建议。
不管你选择什么,你的技术的一部分。堆栈将达不到您的期望。
最重要的是“无共享”,这样组件就可以被替换。
在那之后,下一个最重要的事情是自动生成的功能,以减少或防止编程。
看看姜戈。许多自动管理功能使生活变得非常愉快。
发布于 2009-03-06 03:13:18
您可以执行以下操作:
您还可以采用使用稳定版本而不是alpha位的方法。一段时间后,你可能会更接近出血的边缘。与有问题的项目相关的人通常比来自其他平台的人更有偏见,要小心你信任的人。
考虑使用前沿框架与已建立的框架的影响。有时,对你的客户来说,你在一个被认为是稳定的平台上很重要。在其他时候,这并不重要。你对框架本身的修复有多舒服?优秀的开发人员会了解内部原理,或者至少知道足够多的知识,以便在将bug发送到框架邮件列表等时保持运行。
考虑一些在python平台上构建抽象和可重用代码的通用最佳实践。在迁移到另一个平台的过程中,您可能会节省一些工作。但是,不要成为重用的狂热分子,因为这可能会限制您使用框架的有效性。当37Signals谈到从工作代码中提取框架而不是从头开始构建框架时,他们是对的。
发布于 2013-02-01 00:03:03
我知道这是一个古老的帖子,但我(再次)处于类似的情况,我认为其他人可能想要寻找不同的意见,并听说(一些)成功的经验。
由于baudtack提到了Python,我将尝试按照我使用Python的经验来回答这个问题。以下是对我有效的方法:
答:您希望使用哪种编程范式?比如面向对象的,函数式的,等等。你是想采用你自己的编程风格,还是想效仿别人的编程风格?
使用语义网还是不使用语义网?您是否希望更好地控制URI及其设计?(顺便说一下,我发现web.py在这方面很棒--我选择用Python语言创建REST )
c.你是想被框架需求所困,还是想更好地将应用程序从web组件中分离出来,例如,使用框架将应用程序用作一组模块。我对Django的问题是,我最终没有编写Python,而是不得不学习比我需要的更多的Django。如果这对你有效,那么这就是你要走的路。
d.数据存储...某种SQL与非RDBMS (xml数据库,如完全支持xquery的eXist-db )、OODBMS与上述的组合?你需要这有多复杂?您需要对如何在应用程序中存储和调用数据进行多大程度的控制/分离?
e.测试:单元测试...感谢老天的python!如果你的web应用程序有增长的潜力(就像他们经常做的那样),那么一开始就有一个健全和连贯的测试平台将会对未来有很大的帮助--我希望我能更早地了解这一点。哦好吧..。晚做总比不做强。
f.您需要对服务器进行多大程度的控制?托管注意事项?您需要在多大程度上控制Apache实例?操作系统的特定需求?我发现使用共享主机提供商已经很棒了。我最终发现我需要更多的灵活性和带宽。换句话说,你能从你的预算中得到什么?如果你每个月都有USD50要花,考虑像Linode这样的虚拟主机解决方案可能更好。
最后,我赞同S.Lott的观点,即没有解决方案的选择是完美的,并且容易过时。
https://stackoverflow.com/questions/617569
复制相似问题