我有几个问题要更好地理解Java在web应用程序中的使用:-
Java开发是否适合于寻求开发web应用程序的小型初创企业(人力资源较少)?
Java的开发、部署和维护可能会出现什么样的困难?
在从PHP背景迁移到Java时,应该记住哪些事项/需要考虑的事项?
为什么Java应用今天不那么流行?(或者如果我错误地理解了它,请列出linkedIn和ebay之外的任何主要部署)
最后,在开始Java的web开发之前,需要学习哪些最重要的东西?
谢谢
发布于 2011-01-19 16:53:11
请允许我从一个小公司的开发人员/架构师的角度来回答这些问题,经历了一系列这些问题。
Java的开发、部署和维护可能会出现什么样的困难?
如何决定使用哪个工具集/框架?你需要IDE吗?哪个版本控制系统?为什么?您想在某个地方进行开发并部署到其他地方,还是直接在服务器上进行开发?您是为此购买linux盒,还是租一些云?就执照和培训而言,他们要花多少钱?
在从PHP背景迁移到Java时,应该记住哪些事项/需要考虑的事项?
您的servlet将如何发送电子邮件?在PHP中它要简单得多。需要加密对象的安全传输吗?Java是你的朋友。会话跟踪呢?使用cookie,还是有专门的类来做?如何访问数据库?想要使用hibernate吗?hibernate依赖于哪些其他工具?他们的成本(license+learning)是多少?你能直接使用JDBC吗?优点和缺点是什么?为什么要用哪个数据库。
为什么Java应用今天不那么流行?(或者如果我错误地理解了它,请列出linkedIn和ebay之外的任何主要部署)
我不确定是否是这样,但可能的原因可能是.net的可用性和与基于C#的系统的集成,以及苹果放弃了它的SDK。但这是我的猜测,不要引用我的话。我自己正在用Java 6开发一个大规模的系统。
最后,在开始Java的web开发之前,需要学习哪些最重要的东西?
(这是我的观点)对整个体系结构进行测试或试验。GUI网络浏览器是基于吗?是小程序吗?与服务器对话的独立应用程序?JNLP系统从网上下载档案和JRE?您会发现一些东西在Windows7上不起作用,有些在Vista上不起作用,W3C已经从HTML中取消了applet标记,但是Sun/Oracle要求您使用它,不同的浏览器不支持样式表的内容,等等。
防火墙的设置是另一个主要的挑战--您开始使用使用Spring库的线程池,而使用DBvisualizer检查DB表的功能也消失了!现在,您需要一个DBA和来解决这些您没有的!
就我个人而言,我发现LAMP体系结构(Linux MySQL-PHP)对于较小的应用程序来说是最快的选择,但是如果应用程序(安全性、GUI和swing、多线程等)需要更重的枪支,请用tomcat容器替换P in LAMP。我发现最难的事情是在我的应用程序上下文中判断工具的价值--我不需要一个工具来生成带有给定变量列表的getter/setter方法的Java文件--对我来说,这是另一个间接的级别,但是eclipse中的JUnit对于调试是有帮助的。
只是分享了我的一些想法-希望这能帮上忙。
发布于 2011-01-19 12:43:24
通常,“使用什么技术”这个问题的答案是“你最有经验的技术”。然而,Java是巨大的、笨重的,而且对于快速原型开发肯定不好,如果您正在创建一个新的公司,您就会这样做。
就我个人而言,我推荐一个更现代和更有活力的环境。如果您来自PHP,您应该能够轻松地获得或Django (Python)。在我看来,这两种选择要比Java好几个数量级。如果您想继续使用Java,那么至少要使用Play框架。
发布于 2011-01-19 12:45:56
Java开发是否适合于寻求开发web应用程序的小型初创企业(人力资源较少)?
是的,我在一家初创公司工作,在那里我是唯一的全职程序员。
Java的开发、部署和维护可能会出现什么样的困难?
和任何其他网站开发商店一样。当然,这些问题也有它们的Java风格。例如,我们发现一个bug是由在活动系统上使用的JDK的不同小版本引起的,而不是在我们的测试系统上。
在从PHP背景迁移到Java时,应该记住哪些事项/需要考虑的事项?不要以PHP方式编写代码。Java的优势在于OOP和它的许多库/开源框架。用那个。
为什么Java应用今天不那么流行?(或者如果我错误地理解了它,请列出linkedIn和ebay之外的任何主要部署)
我不知道你为什么这么认为,但是Java在任何地方都被使用。这是谷歌官方使用的少数语言之一。他们也使用PHP,但它具有“较低”的状态。
最后,在开始Java的web开发之前,需要学习哪些最重要的东西?使用我前面提到的Java的优点。
更新后的评论
我不能为你做出选择。如果您有疑问,而且很匆忙,就不应该使用Java。这是常识。然而,这是你的团队学习和成长的机会。也许有一个PHP/其他客户端为Cassandra服务。我在一家初创公司认识一位前PHP程序员,他转向了Java。总的来说,他并没有说PHP程序员的坏处,但他做了各种奇怪的事情,比如没有利用Java框架的功能,以及编写了大量与HTML和SQL混合的过程代码。显然,有很多Java程序员会做同样的事情。关键是你的团队可能会学到新的方法来做事情,并从中受益。
https://stackoverflow.com/questions/4735296
复制相似问题