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