2009-10-15 44 views
6

我想学习一个促进良好编程实践并受编程社区尊重的框架。哪个Web框架适合想要工作的人?

但是,我也想要一个我可以用来做日常工作的框架。

你会推荐哪一个?

这个问题来自我学习Django基础的经验,因为它得到了Stack Overflow和Hacker News的开发人员的高度赞扬。但是,我的地区(纽约市)几乎没有任何工作要求Django开发人员。

+6

可悲的是,“良好的编程习惯”和“日常工作”不会在任何地方重叠尽可能多的我们想要的。 – 2009-10-16 00:18:29

回答

18

作为一个长期ASP.NET的家伙,我最近经历了一个类似的决策过程,以找出我应该尝试的其他Web框架。这是我学会为止可能适用于你的情况太:

  • 框架/ platofrm选择(因此就业机会)的高度regional--湾区就业市场从什么,你会在纽约找到了很多不同,芝加哥,蒙特利尔或伦敦。看看当地的工作列表(craigslist,确实是开始的好地方),以便清楚地了解需求。
  • 类似地,根据公司的规模和类型不同,使用情况也不尽相同。如果你想在大公司找到工作,Spring MVC和ASP.NET MVC可能是你最好的选择。在小公司中,DJango和(特别是)Rails似乎正在上升。
  • 用法也有时因行业而异。例如,很多人力资源应用程序似乎都是基于.NET的,而金融/银行应用程序似乎偏爱Java。如果你想在一个特定的行业工作,看看那个行业里新兴的公司正在使用什么。
  • 当你将稀缺时间投入到学习新事物的时候,青睐处于采用曲线上升的技术(例如Rails),而不是更广泛采用的框架,而这些框架可能不会快速增长。也要警惕早期的或利基的框架,这些框架可能不会被广泛采用。
  • 大多数(或几乎所有)框架越来越受欢迎的一个共同点是它们是MVC框架,并且严重依赖于对REST的深入理解。深入学习这些概念是一个好主意。
  • 在决定在一个框架中投资lot时间之前,您可以对其中的几个进行基本了解,这样您就可以合理地理解您喜欢和不喜欢的每一个 - 如果结束使用你没有学过的框架申请工作,至少你可以聪明地谈论它。
  • 如果您专注于自己喜欢的事物,那么您将更有动力去学习它。例如,我个人发现Rails(无数就业机会)比Spring或Django更有趣,所以我决定首先关注Rails。其他人可能会有不同的印象 - 遵循程序员的本能。也就是说,通常很少有使用你觉得迷人的技术的工作,所以你应该努力找到适当的平衡点:许多公司实际上都在招聘人们使用的技术!
  • 一旦你回答了基本的“什么框架”的问题,潜伏着更多的问题,包括选择一个JavaScript框架,验证框架,ORM等。不要过多担心这些选择 - 只需选择框架的默认实现即可。但是随着你越来越先进,关于框架的相同论点也适用于其他的东西 - 例如,了解一些ORM很有用。

就个人而言,我决定在这个办法:

  • 继续在我所了解的最好的(ASP.NET)构建的东西,但所有转型工作ASP.NET MVC,在那里我可以更好地理解和MVC适用跨平台的REST概念
  • 学习jQuery(再次,平台中立)
  • 吹掉ORM选择产品总数为now--太多其他的事情担心
  • 建立Rails的几个项目,这是framewor k我看到在我一直在看的更新的SF-Bay-Area初创公司中使用得最多
  • 了解基本知识(例如,阅读一两本书,尝试几个样本),了解Python/Django,Java/Spring和Groovy/Grails。
+0

很多信息,谢谢! – volni 2009-10-15 23:33:11

+0

很多很多... – RominaV 2014-01-29 12:28:44

2

你试过Spring MVC吗?许多公司都将Java用于Web应用程序(或.NET)和基于Web服务的应用程序。

3

我可能会说ASP.NET MVC。我总是看到很多.NET作业,这似乎是一个坚实的框架,我认为它实际上为所有的stackoverflow系列提供动力。作为一名PHP开发人员,我还必须提及许多大型网站使用的Zend Framework,其中包括bbc.co.uk,现在经常在PHP作业的广告中提及。

+0

有很多.NET作业,但他们没有使用MVC框架。开发人员倾向于远离旧的.NET,至少从我曾经谈论的那些.NET开始。他们已经跳槽到Django或Rails,旧的东西似乎有些可怕。 – 2009-10-23 19:32:00

3

我在使用Django,Ruby on Rails和(eiuw!)甚至Zope的酷小公司中遇到过真正的项目。 .NET是用于天线宝宝的 - 我只听说它被不知道更好的大公司所使用。

+2

我同意在我住的地方附近的小创业公司使用.NET的情况相对不寻常(尽管它因行业而异)。也就是说,例外情况很常见。例如,我最近听说一家本地初创公司在.NET上运行一个受欢迎的网站,开发人员可以提出编码问题并获得快速答案。现在,如果我只记得哪个网站是....任何人都知道? :-) – 2009-10-16 00:31:40

3

我会说知道两三个比知道被广泛使用的要好,因为你会更好地理解它作为一个概念是如何工作的。例如,如果你只使用了Java,那么在你理解OOP时可能会缺少一些东西,因为你会用一种方式来思考它。如果你已经知道Django,尽管你可能会对此表示赞赏。

0

.NET和Java是迄今为止雇主使用的最大的两个平台,因此在寻找工作时最受欢迎。 Java有一些流行的框架,JSF,Spring MVC和Struts看起来都是平等的需求。我不使用.NET,但从我看到的,ASP.NET和ASP.NET MVC是主要的。

3

我想学习一个促进良好编程实践并受编程社区尊重的框架。不过,我也想要一个我可以用来做日常工作的框架。

对不起,这里是坏消息的持有者,但这两个愿望往往会冲突。恕我直言,大多数业务经理倾向于在CRM或其他更高级别的第三方代码库上进行(丑陋)快速开发。从头开始建立优雅的网站主要发生在初创公司或真正的网站公司,网站是唯一的产品。这些公司并不是那么多;许多似乎适合的内容实际上是内部的混乱,即由于时间压力,凌乱的遗留代码以及许多其他原因,无论如何,根据“良好的编程实践”,您通常无法撰写它们。

我同意Kaleb Brasee的观点,即Java和.NET是工作可用性优先的两个主要平台。

每一个就业市场是独一无二的,所以看职位空缺您所在地区,或致电招聘了一把,问他们看到什么需要/可以很容易地把你在一个初级的位置。我所看到的是微软Sharepoint需求旺盛,还有一些其他区域CMS需求(丹麦,我经常看到Sitecore)。

我认为ASP.NET MVC 2.0与MVC AreasASP.NET Dynamic Data一起,对许多想要快速开发的老板们来说,将会有一个好故事,一个很好的解决方案。而且我认为,由此产生的代码可能相当好,或者至少与许多存在的“CMS殴打成别的东西”站点相比,这并不坏。但是这对于.NET平台来说是一个全新的东西,它需要首先卖给决策者......

底线:如果你首先想要工作安全,那么看看大型CMS像Sharepoint一样,并在业余时间处理其他技术。或者,您可以稍后在创业公司/网络公司找工作;但看看你跳跃之前。

2

既然你提到了Ruby on Rails,你可能想学习Ruby on Rails。它有一些很好的编程实践和一个非常好的思想架构。 Ruby社区本身也(在我个人看来)创建了非常新颖的框架,并且非常青睐测试和质量。您可以通过创新的测试框架(如Cucumber,webrat,shoulda,cana,rspec,test/spec)来查看。许多初创公司也使用Rails作为他们的平台,所以你应该更容易找到工作。您可以开始查看Working With Rails37signals job board。所以在Rails和Ruby社区里有一个很好的生态系统。

但Rails与Django相比的缺点主要是魔术太多(不太明确),而且文档不如Django。如果你想得到一个Django的工作,试着看看几个新闻网站,因为Django是从一个报纸网站成长起来的,所以它在很多新闻网站都被采用。

2

我会推荐ASP.NET MVC,Ruby on Rails或者Python/Django,它们看起来都很流行和成功,并且基于MVC范例,这对于工作来说绝对是正确的工具。网页。

0

我会说在这里提到的大多数框架都会促进良好的实践。但这并不意味着使用这些框架的公司实际上正在遵循这些良好实践!实际上很可能不是。所以不要期望太多。

你看,像堆栈溢出,黑客新闻等地方是一个很好的方式来与真正关心他们的手艺的人联系。可悲的是,这是少数。世界上有数百万程序员。他们中的大多数吸吮。他们写的代码很烂。他们不在乎。他们对提高技能不感兴趣。他们只想学习收集薪水,回家,喂狗,与家人共度时光,看电视,睡觉,第二天再次完成所需的最低限度所需的最低限度。

好吧,这有点苛刻:)我得到的是,你可能最好向想要工作的公司的一些经理问这个问题。我的猜测是,他们中的大多数人会回答.NET或Java。如果你喜欢笑,问问他们为什么选择那种特定的技术而不是其他的东西,并看看他们扔给你多少流行语;)