我计划将我的桌面财务应用程序(用Delphi编写)重写为Web应用程序,并且正在考虑使用哪种技术。其他可能的要求是将尽可能多的代码传输到共享库,该共享库也可以在应用程序的桌面版本中使用。没有像欠款总成本这样的参数。只要我愿意,我就可以重写它。
我需要一种跨平台技术,能够本地处理UTF-8并连接到PostgreSQL以及Microsoft SQL Server。
我已经使用Ruby on Rails进行了足够的编程,并且会说它对于商业网站来说非常好,但是不适合我自己的Web应用程序,因为我不喜欢它的“神奇”并且无法用UTF编写.rb文件-8。
PHP似乎与RoR类似,尽管我还没有尝试过。
ASP.NET / .NET MVC符合我的要求,但它仅适用于Windows。
所以,我选择了Java。但是他们在互联网上说Java和JSP是不同的技术,我不能使用Java桌面应用程序,只需很少的更改就可以将其转换为JSP。 Java和JSP真的如此不同吗?例如,在.NET中,我可以编写一个数据库和业务逻辑库,可以在桌面应用程序和ASP.NET应用程序中使用。
答案 0 :(得分:1)
Java
和JSPs
没有什么不同。 JSP
在执行之前将编译为Java Servlet 。
JSP 用于编写HTML / ASP,就像处理演示文稿的代码一样。换句话说,它提供了来自Java编码的隔离表示细节,但最终,服务器将您的JSP文件编译为Java Servlet。
您要在JSP
中撰写的内容,可以通过Servlet
撰写。
如果您计划使用JSP over Servlet,请确保您没有在JSP本身编写完整的代码,例如从数据库中读取数据。 所有业务逻辑都应该放在JAVA类中,并通过JAVA类在JSP中使用。如果设计得当,可以重用Java类。
如果我理解正确,那么这就是您要实现的目标,即achieve re-usability
的{{1}}。
答案 1 :(得分:1)
除了可以像.NET一样重用您的服务,逻辑等之外,它们没有那么不同。 唯一的问题是视图,在java中有很多方法。如果您选择了JSP,则需要对所有演示文稿进行编码(您可以调用服务,逻辑等),但如果您希望在Desktop Java应用程序中尽可能多地重用代码,请将其带到Web上,也许是您的应该看一下java Applet,它们相对简单,可以变成一个java应用程序。
答案 2 :(得分:1)
对于您所描述的情况,为桌面和Web应用程序提供大量共享代码应该非常容易。应用程序的思想包括2层:
就Web开发技术而言,我建议您考虑更高级别的JSP和Servlet框架,因为这样可以节省大量时间。
有可能使用JavaScript编写单个UI层,HTML 5是一个Web应用程序,但其行为类似于许多功能的桌面应用程序。然后,您可以制作产品的桌面版本,基本上启动不带chrome的浏览器窗口并在其中运行应用程序。如果您确实选择使用JavaScript和HTML 5,那么有很多框架可供选择,我建议您在ThroneOfJS会议http://www.infoq.com/throne_of_js/上观看infoq.com上的视频,以了解我有偏见的建议是使用AngularJS。