首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web程序员在Applicationland中的冒险(或需要实际的Java帮助)

Web程序员在Applicationland中的冒险(或需要实际的Java帮助)
EN

Stack Overflow用户
提问于 2009-07-21 09:14:38
回答 6查看 209关注 0票数 6

好的,所以我是一个大学学生,在大学里,还没有扩展到一个特定的专业。我从十几岁就开始编程了,当然知道我的东西--我精通八种不同的语言,还精通compsci理论等等。此外,我有大约四年的网络编程(主要是PHP),自从Web2.0成为热门之后,我就开始从事这个领域的自由职业工作。

我现在作为实习生的暑期工作是为一家工业公司编写应用程序,而不是软件相关的初创公司。此应用程序将用于管理生产线和物流。我选择Java作为我的语言,因为我不想对自己开枪。

我非常精通Java的语法、数据结构、语言理论等等,但我完全不知道从哪里开始。我能在我的脑海中完美地描绘出这个程序,我清楚地理解了这个问题,并得到了解决方案的理论基础。也就是说,我不知道该使用什么库,我害怕它们不会被很好地记录下来。

下面是我要做的一些概述:

  • 两个应用程序,一个服务器和一个客户机(其中将有许多副本)。
  • 显然,服务器和客户端将通过(我不知道)进行通信。
  • 服务器和客户端软件都将具有GUI。
  • 服务器软件必须查询MySQL数据库。
  • 客户端软件必须是“实时”的,因为当对数据库进行更改时,GUI就会更新。这就是为什么它不能成为一个web应用程序的原因之一。

我甚至不确定框架是否适合我。在我的网络自由职业者的工作中,我已经多次使用MVC,但我不知道这将如何翻译到桌面应用程序。

简而言之,我正在寻找适合这项工作的库,以及关于是否应该使用框架的建议(如果应该的话,应该使用哪个框架)。谢谢。

EN

回答 6

Stack Overflow用户

发布于 2009-07-21 09:29:32

这是暑期实习生的工作吗?老实说,如果你问我,这听起来更像是一个重大项目。你说启动与软件无关?是谁想出这个主意的?他们知道像这样的事情可能带来的(巨大的)范围吗?

软件开发业务与语言、语法和库有很大不同。它涉及需求收集、定义规范、编写代码、确保代码质量、进行测试等等。这些都不是实习生理应得到的东西。对于这样的事情,你应该在更有经验的监督下,一个你可以学习的人,一个曾经这样做过的人。

尽管如此,除非真的有一个很好的理由,我可能会做这样的事情,作为一个网站,而不是桌面应用。桌面应用程序在许多方面要复杂得多。您需要同时编码客户端和服务器。沟通有点棘手。您必须担心在多个应用程序中维护状态的问题,以及如何处理被推送的更新等等。

总之,这是一项很大的工作。即使是一个网站也是一项很大的工作,但是很多这些问题都消失了。你可以用Java来做这件事。当然,我已经编写了相当份额的Java网站,但是PHP可能是一个简单得多的赌注。

而且,Java上的桌面开发也是一种折磨。挥杆是尝试和真实的,但也令人难以置信的痛苦在其中发展。其他桌面库(如Netbeans、RCP、Eclipse )则更现代化,但也有其他特性。

桌面远程处理库包括Spring、甚至Web服务以及其他类似麻布的东西。对于服务器端,我将使用Tomcat或应用服务器(Glassfish是我的首选)、servlet和Spring。持久化可以通过Hibernate或Ibatis (或许多其他选项)来完成。

但老实说,桌面选项比基于Web的桌面选项要复杂得多。使用PHP + jQuery + MySQL,您可能会更快地完成更多工作。

如果您正在这样做,请尽可能保持绝对简单。尝试定义初始交付所需的绝对最小值,并进行此操作。一旦有人知道了,他们就会更好地知道什么对他们有效,什么对他们无效。基本上,改进已经存在的东西比定义不存在的东西更容易。

票数 7
EN

Stack Overflow用户

发布于 2009-07-21 09:26:08

我建议您只构建一个web应用程序。web应用程序可以在您使用AJAX描述它的意义上“实时”。只建造一件东西就容易多了。如果您还想拥有一个富客户端,那么您需要在您不熟悉的技术(如Swing或SWT)中构建UI,并设计/实现通信机制。

看看Hibernate (ORM工具)和春天 (IoC框架)。他们有一个陡峭的学习曲线,但他们会使你的生活更容易从长远来看。对于UI部分,对于初学者来说,JSF可能更容易。

作为最后一点,我认为你有一个过于雄心勃勃的计划。您所描述的不是一个简单的项目,需要大量技术的专门知识。不要一蹴而就。

票数 3
EN

Stack Overflow用户

发布于 2009-07-21 09:25:40

  • Java桌面6 (JRE)
  • JDBC (任何JRE中内置的)
  • MySQL JDBC驱动程序(可免费下载)
  • 对于通信,您有几种选择: RMI (内置的),但是这几天我推荐您。 学习像(JAX)这样的东西
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1158106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档