我有几个问题需要了解更好的Java在Web应用程序环境中的用法: -
Java EE Web开发是否适合小型初创公司(人力资源较少),希望开发Web应用程序?
Java EE Web开发,部署和解决方案可能会出现什么样的困难。维修?
从PHP背景迁移到Java时,应该记住哪些事项/考虑因素?
为什么Java Web应用程序今天不那么受欢迎? (或者如果我错误地认识到它,请列出linkedIn和ebay旁边的所有主要部署)
最后,在Java EE中开始 Web开发之前,要学习哪些最重要的事情?
谢谢
答案 0 :(得分:2)
一般来说,“使用什么技术”这个问题的答案是“你最有经验的那个”。但是,Java EE是庞大而笨重的,并且绝对不适合快速原型设计,如果你正在创业,你将会这样做。
就个人而言,我会建议一个更现代,更有活力的环境。如果您来自PHP,您应该能够轻松地获取Ruby on Rails或Django(Python)。在我看来,这两个选择的顺序比Java EE好。如果你想坚持使用Java,那么至少要使用Play框架。
答案 1 :(得分:2)
Java EE Web开发是否适合小型初创公司(人力资源较少)寻求开发Web应用程序?
是的,我在一家初创公司工作,我是唯一的全职程序员。
Java EE Web开发,部署和解决方案可能会出现什么样的困难。维修?
与任何其他网站开发商店相同。当然,问题有他们的Java风味。例如,我们发现的一个错误是由在实时系统上使用的JDK的不同次要版本而不是在我们的测试系统上引起的。
从PHP背景迁移到Java时,应该记住哪些事项/要考虑的因素?不要编写PHP方式的代码。 Java的优势在于OOP及其众多库/开源框架。使用它。
为什么Java Web应用程序今天不那么受欢迎? (或者如果我错误地认识到它,请列出linkedIn和ebay旁边的所有主要部署)
我不知道你为什么这么认为,但Java无处不在。它是Google正式使用的少数几种语言之一。他们也使用PHP,但它具有“较低”的状态。
最后,在Java EE中开始Web开发之前,要学习哪些最重要的事情?使用我上面提到的Java的优点。
评论后更新
我不能为你做出选择。如果你有疑问并且匆忙,你不应该使用Java。这是常识。但是,这是您的团队学习和成长的机会。也许Cassandra有一个PHP /其他客户端。我认识一位初创公司的PHP程序员,他转而使用Java。对于一般的PHP程序员并没有说任何坏事,但他做了各种奇怪的事情,例如没有利用Java Web框架的强大功能,并编写了大量与HTML和SQL混合的过程代码。显然,有很多Java程序员会做同样的事情。重点是,您的团队可能会学习新的方法,并在将来从中受益。
答案 2 :(得分:0)
对于初创公司而言,一个有趣的选择可能是Lift Web框架,它用于开发“Java Web应用程序”(尽管在Scala中)。
答案 3 :(得分:0)
请允许我从小型初创公司的开发人员/架构师的角度回答这些问题,遇到一系列问题。
Java EE Web开发,部署和解决方案可能会出现什么样的困难。维修?
您如何决定使用哪个工具集/框架?你需要一个IDE吗?哪个版本控制系统又为什么?您想在某个地方开发并在其他地方部署,还是直接在服务器上开发?你为此买了一个linux机箱,还是租一些云?在许可证和培训方面,它们的成本是多少?
从PHP背景迁移到Java时,应该记住哪些事项/考虑因素?
您的servlet如何发送电子邮件?它在PHP中更简单。需要加密对象的安全传输? Java是你的朋友。会话跟踪怎么样?使用cookies,还是有专门的课程呢?你如何访问数据库?想用hibernate吗?休眠依赖于什么其他工具?他们的成本是什么(许可+学习)?你能直接使用JDBC吗?优缺点都有什么?使用哪个数据库来解释原因。
为什么Java Web应用程序今天不那么受欢迎? (或者如果我错误地认识到它,请列出linkedIn和ebay旁边的所有主要部署)
我不确定是否是这种情况,但可能的原因可能是.net的可用性以及与基于C#的系统的集成以及Apple从其中放弃Java的Java。但这是我的猜测,不要引用我的话。我正在用Java 6开发一个大型系统。
最后,在Java EE中开始Web开发之前要学习哪些最重要的事情?
(这是我的观点)对整个架构进行测试或试用。 GUI网络浏览器是基于?它是applet吗?独立应用程序与服务器通信? JNLP系统下载档案和JRE下网?你会发现有些东西在Windows 7上不起作用,有些东西不在Vista上,W3C已经弃用了HTML的applet标签,但是Sun / Oracle要求你使用它,不同的浏览器不支持你的样式表的内容等。< / p>
防火墙设置是另一个主要挑战 - 您开始使用Spring库使用线程池,并且使用DBvisualizer检查数据库表的功能已经消失!现在你需要一个DBA和一个sys-admin来修复你没有的人!
就个人而言,我发现LAMP架构(Linux-Apache-MySQL-PHP)是最小的应用程序,但如果你的应用程序需要更重的枪支(安全性,带摆动,多线程等的GUI),请更换P在LAMP中带有一个tomcat容器。我发现最困难的事情是在我的应用程序的上下文中判断工具的价值 - 我不需要一个工具来生成带有getter / setter方法的Java文件给定一个变量列表 - 对我来说这是另一个间接层次,但是eclipse中的JUnit有助于调试。
刚刚分享了我的一些想法 - 希望这会有所帮助, - M.S。