为新项目选择“更好”还是更熟悉的技术? [英] Choose 'better' or more familiar technologies for a new project?

查看:95
本文介绍了为新项目选择“更好”还是更熟悉的技术?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我期待着开始一个全新项目的工作,这是我一直想作为我的第一个独立可销售项目的一段时间。
广泛地说,这是一个基于网络的服务应用程序,而我的第一选择 - 服务器语言非常简单...我以前从事Java网络应用程序的工作对Java非常了解。



然而,我的网络应用程序涉及JSP,Servlets和JSTL ......我知道Hibernate / Spring等新技术背后的想法,但从未使用过它们。所以我们编写了我们自己的DAO,通过编写生成XML / JSON页面的特殊迷你JSP页面来处理AJAX。



我并不是很认同Spring / Hibernate是执行任何Java Web项目的'唯一'或'正确'方式,但它们被广泛使用。另一方面,不仅会试图学习这些增加初始开发时间,但我会用我的学习来建立一个生产系统。



我记得一个乔尔的早期文章说(我会解释,因为我找不到它)


不管什么是酷,总是使用
领导
开发者(或开发团队?)知道的最好的技术

我想知道人们对此有何想法?



ps:应该是CW吗?

div>

注意酷酷的新框架的吸引力!我目前正在一个小型的小应用程序上进行黑客攻击,它只有一个登录页面,几个静态页面以及一些表单信息通过电子邮件这可能需要我花两天的时间才能像MVC风格的传统Servlet / JSP那样工作。相反,由于日程安排有些松懈,我决定使用此项目加快Spring,Spring MVC和Spring WebFlow的速度。虽然我很可能只是密集的,但花了几个星期的时间才让我的头脑正确地做事情,我仍然不完全相信自己正确地做了一切事情,并且该应用程序还没有完成。幸运的是,由于松弛,我没有面临整体项目进度滑倒的危险,但我总是问自己,如果我将不得不放弃它并重新开始。



然而,我已经吸取了教训:下一次,除非我之前用于生产项目,否则我不会推新框架。这就是说,我很高兴我现在了解Spring(或者至少我认为我是这么做的),并且会毫不犹豫地再次使用它。

那么我将如何下次学习新的框架?如果有项目负责人(在这种情况下,我是一个团队的项目负责人,在那里没有帮助),我会使用他们实施的框架。如果没有,或者如果我想学习一个项目负责人没有使用的框架,我会在自己的时间将它用于一个副项目。学习很好。投入未经测试的技术使公司工作面临风险并不是那么好。

I am looking to start work on a brand-new project, something I've been thinking about for a while as my first independent sellable project. It's broadly speaking a web-based service application, and my first choice, server-language is quite easy... I know Java pretty well from working on Java web-apps in the past.

However my experience doing web-apps involved JSP, Servlets and JSTL... I know the ideas behind newer technologies like Hibernate/Spring but have never used them. So we wrote our own DAOs, handled AJAX by writing special mini-JSP pages that generated XML/JSON pages, etc.

I'm not hugely into the idea that Spring/Hibernate are the 'only' or 'right' way to do any Java web-project, but they are widely used. On the other hand, not only would trying to learn these increase initial development time, but I'd be using my learning attempts to build a production system.

I remember one of Joel's early articles said (I'll paraphrase since I can't find it)

"regardless what's cool, always use the technologies that the lead developer (or dev team?) knows best"

I wondered what people thought about that?

ps: should this be CW?

解决方案

Beware the lure of cool new frameworks! I'm currently hacking on a tiny little web app that just has a login, a few mostly static pages, and a few forms to request some information by email. It would have taken me maybe two days to do as traditional Servlet/JSP in MVC style. Instead, since there was slack in the schedule, I decided to use this project to get up to speed in Spring, Spring MVC, and Spring WebFlow. While it's quite possible that I'm just dense, it took me several weeks to get my head around the right way of doing things, I'm still not totally confident that I'm doing everything correctly, and the application is still not done. Fortunately, due to slack, I'm not in danger of the overall project schedule slipping, but I'm always asking myself if I'm going to have to scrap it and start over.

I have learned my lesson, though: next time, I won't be the one pushing a new framework unless its one I've used for production projects before. That said, I'm glad I now understand Spring (or at least I think I do) and will not hesitate to use it again next time.

So how would I learn a new framework next time? If there's a project lead (in this case I'm a project lead of a team of one, no help there) I'd use the framework that they put in place. If there isn't, or if I want to learn a framework that the project lead isn't using, I'd use it for a side project on my own time. Learning is good. Putting company work at risk by throwing untested technology at it is not so good.

这篇关于为新项目选择“更好”还是更熟悉的技术?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆