我想学习一个促进良好编程实践的框架,并受到编程社区的尊重。
但是,我还想要一个可用于日常工作的框架。
你会推荐哪一个?
这个问题来自我学习Django基础知识的经验,因为它在Stack Overflow和Hacker News上得到了开发人员的高度赞扬。但是......我所在地区(纽约市)几乎没有任何工作要求Django开发人员。
答案 0 :(得分:18)
作为一个长期的ASP.NET人员,我最近经历了一个类似的决策过程,以找出我应该尝试的其他Web框架。这是我到目前为止所学到的,也可能适用于你的案例:
就个人而言,我决定采用这种方法:
答案 1 :(得分:3)
我可能会说ASP.NET MVC。我总是看到很多.NET工作,这似乎是一个坚实的框架,我认为实际上为所有stackoverflow系列提供支持。作为一名PHP开发人员,我还必须提及Zend Framework,它被包括bbc.co.uk在内的许多大型网站使用,现在在PHP作业的广告中经常被提及。
答案 2 :(得分:3)
我在使用Django,Ruby on Rails和(甚至是!)甚至Zope的酷小公司遇到过真正的项目。 .NET适用于天线宝宝 - 我只听说它被不太了解的大公司使用。
答案 3 :(得分:3)
我想说知道两三个比知道一个被广泛使用的更好,因为你将更好地理解它如何作为一个概念。例如,如果您只使用Java,那么您对OOP的理解可能会缺少一些东西,因为您已经陷入了以某种方式思考它的过程中。如果你已经知道Django,你可能会对Spring赞不绝口。
答案 4 :(得分:3)
我想学习一个促进良好编程实践的框架,并受到编程社区的尊重。但是,我还想要一个可用于日常工作的框架。
很抱歉在这里成为坏消息的承载者,但这两个愿望往往会发生冲突。恕我直言,大多数业务经理倾向于在CRM或其他更高层次上进行(丑陋)快速发展第三方代码库。从头开始构建优雅的网站主要发生在创业公司或网站是唯一产品的真正的网络公司。这些公司并不多;许多看似合适的内容实际上是内部的混乱,即由于时间压力,凌乱的遗留代码以及许多其他原因,你通常根据“良好的编程习惯”无法编写。
我同意Kaleb Brasee的观点,当工作可用性成为优先事项时,Java和.NET是两个主要平台。
每个就业市场都是独一无二的,所以请查看您所在地区的职位空缺,或致电少数招聘人员,询问他们认为需要/可以轻松将您置于初级职位。我所看到的是Microsoft Sharepoint的需求,以及其他一些区域性CMS的需求(在丹麦我经常看到Sitecore)。
我认为ASP.NET MVC 2.0与MVC Areas和ASP.NET Dynamic Data一起为许多想要快速开发的老板提供了一个好故事,一个很好的解决方案。而且我认为生成的代码可能相当不错,或者与许多“存在于其他网站”的网站相比,至少还不错。但这对于.NET平台来说是一个全新的东西,它需要首先出售给决策者......
底线:如果您首先想要工作安全,那么请查看大型CMS,如Sharepoint,并在业余时间使用其他技术。您可以选择在创业时工作/以后是一家网络公司;但是在你跳跃之前先看看。
答案 5 :(得分:2)
你试过Spring MVC吗?许多公司确实将Java用于Web应用程序(或.NET)和基于Web服务的应用程序。
答案 6 :(得分:2)
既然你提到了Ruby on Rails,你可能想学习Ruby on Rails。它有一些很好的编程实践和一个非常好的思想架构。 Ruby社区本身也(我个人认为)创建了非常创新的框架,非常有利于测试和质量。您可以通过创新的测试框架来看到这一点,如Cucumber,webrat,shoulda,cana,rspec,test / spec。许多初创公司也使用Rails作为他们的平台,所以你应该更容易找到工作。您可以开始查看Working With Rails和37signals job board。所以在Rails和Ruby社区中有一个很好的生态系统。
但是,与Django相比,Rails的缺点主要是有太多的魔法(不太明确),而且文档不如Django好。如果你想获得一份Django工作,可以试试看几个新闻网站,因为Django是从一家报社网站长大的,所以它在新闻网站上被大量采用。答案 7 :(得分:2)
我会推荐ASP.NET MVC,Ruby on Rails或Python / Django,它们似乎都很受欢迎且成功,并且基于MVC范例,它绝对是适合工作的工具。
答案 8 :(得分:0)
.NET和Java是迄今为止雇主使用的两个最大的平台,因此在搜索工作时最受欢迎。 Java有一些流行的框架,JSF,Spring MVC和Struts似乎都需求相同。我不使用.NET,但从我所看到的,ASP.NET和ASP.NET MVC是主要的。
答案 9 :(得分:0)
我想说这里提到的大多数框架都会促进良好实践。但这并不意味着使用这些框架的公司实际上遵循了这些良好做法!事实上很可能不是。所以不要期待太多。
你知道,像Stack Overflow,Hacker News等这样的地方是与真正关心他们工艺的人联系的好方法。可悲的是,这是少数。世界上有数百万程序员。大多数人都很糟糕。他们写的代码很糟糕。他们不在乎。他们对提高技能不感兴趣。他们只想学习收取薪水,回家,喂狗,与家人共度时光,看电视,过早睡觉以及第二天再做一遍所需的最低限度。
好的,这有点苛刻:)我得到的是,你可能最好不要向你想工作的公司的一些经理提出这个问题。我的猜测是他们中的大多数人会回答.NET或Java。如果你想笑一笑,问他们为什么选择那种特殊技术而不是其他东西,并看看他们向你扔了多少流行语;)