我们销售使用客户专辑编辑程序(适用于Windows)客户创建的photoalbums。现在我们将开发一个在线程序,以便客户可以在浏览器中创建他们的相册:上传照片并进行编辑。这将是一个丰富的浏览器应用程序,具有完整的图形支持。
问题在于使用什么技术?
我们的服务器应用程序是用Java构建的,我们考虑Java Applet,以便我们可以重用一些Java代码。我们对Flash也不是很熟悉。 但有些人说Flash是首选。
现在可能有一些现代技术? SVG或一些谷歌技术(如GWT,但有图形支持)或什么?
您怎么看?
提前致谢!
更新
Photoobook编辑器是使用GWT + SVG创建的。
答案 0 :(得分:8)
您可以选择四个重要选择:
HTML 5 + CSS 3 + AJAX (对于周边网站。)
由于涉及很多图形并且这些即将推出的标准相当新,很难用这种语言获得你想要完成的所有内容,你可以在此构建网站的大部分,但图像编辑器本身将与其他语言相比,开发起来并不容易。
Silverlight (除非你有很多时间......现在是一个糟糕的选择......)
许多用户默认情况下没有安装此功能虽然支持安装它是合理的(Moonlight在其他操作系统上,不同的浏览器可以执行Silverlight),如果你想要广泛的公众,你可能想跳过现在这个。这个将让您学习C#,. NET,WPF和其他Microsoft技术,这将使您需要大量的学习时间。
然而,第二个流行的Twitter客户端Seesmic似乎使用Silverlight在浏览器中快速安装和更新它的桌面应用程序,因此要求用户拥有Silverlight可能并不困难。学习C#,.NET和WPF的另一个好处是,您可以使用学习过的技术来编写桌面应用程序。 (这可以在其他操作系统上运行,Mono的支持正在变好)Java VS Flash (除非你有理由改变,否则留下来!)
如Google Trends: Java, Flash, Silverlight所示,您会注意到Java和Flash处于同一级别,因此您的用户都非常支持它们。您可以最好地使用Java,因为您拥有该语言的经验,而不是忘记您可以重用您编写的代码。使用Java的另一个好处是,您不需要在用于开发软件基础结构的不同部分的软件之间切换。
你可以在Google上查找Java VS Flash,只有当你有理由改变时才应该这样做,当你使用的东西时,没有必要学习具有相同(或者更差)功能的东西。做这项工作很好。虽然你有时间学习新东西,但没有什么不妥,但你会有新的缺点......
答案 1 :(得分:3)
Java applet是一种功能丰富,完善的技术,用于在Web页面中嵌入应用程序,而且您是一个拥有Java的已建立代码库的Java商店。
除非你想要定位一个特定的平台,你知道Flash支持比Java支持更好,那么在你的位置我真的只会坚持使用Java。
答案 2 :(得分:1)
其他可能的选择包括:
答案 3 :(得分:1)
您可以尝试Adobe Flex。它专为RIA设计,并提供许多基于Flash的功能。它使用特定形式的XML(MXML)进行布局(并支持CSS),使用Actionscript进行脚本编写,并且具有许多预构建组件。另外结帐Tour de Flex,它本身就是一个包含代码示例和高级组件的Flex应用程序。如果默认组件看起来限制太多,您可以使用自己的基于Flash的组件。然后将代码编译为swf文件或air文件(用于桌面应用程序)。
您还可以使用像GraniteDS这样的框架在基于Java的服务器和Flex客户端之间传输数据,从而允许您重用一些代码。如果您的项目使用它,我相信它也会利用像Spring这样的东西。
还有一个版本的Eclipse专为使用它而设计:Flash Builder(以前的Flex Builder)。它作为一个独立的IDE或Eclipse插件(它确实需要许可证 - 我认为也可以使用60天试用版)。
我认为它比Java applet更好看,速度更快(不确定JavaFX,因为我从未使用它)。但是在缺点方面,它需要一些开销学习如何工作(如果你打算使用GraniteDS也是如此),但是一旦掌握了它,我认为它是一个很棒的工具。
编辑:ActionScript与Javascript非常相似(它们都基于ECMA脚本),所以如果你知道学习AS不会太难。此外,MXML部分有点类似于使用HTML,但更强大,因为您可以定义自己的类,并将它们直接用作MXML部分中的标记。
答案 4 :(得分:0)
这取决于工具应该做什么,关于编辑图像。
如果有帮助,这里有一些类似的问题:
答案 5 :(得分:0)
从Windows切换到另一个支持解决方案(如Flash和Java)会引导您“从煎锅中走出火中”。试试标准!如果使用拖放式HTML 5,GMail允许以这种方式添加附件。
答案 6 :(得分:0)
如果您有专辑的Java编辑器,也许您可以将其打包为Webstart-Application?如果这种部署方式没问题,你可以省去很多工作。
http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp
答案 7 :(得分:0)
这都与您的目标客户有关。如果您的目标是一般公共运行桌面应用程序,并且您的Web应用程序更像是前端,您应该坚持使用闪存,这已经存在于90%的家用计算机上。如果您需要更强大的功能,已经完成并且可用的代码很多,并且您的用户不介意安装java jre,那么java就是这样。 但这完全取决于用户。我建议你对你的用户群进行某种分析(看看谁访问你的下载页面是否安装了java或flash)并根据它做出决定。