不使用HTML / CSS / JavaScript进行Web开发

时间:2009-07-01 14:35:56

标签: web-applications

我必须编写一个Web应用程序,我不确定选择哪种技术。用户界面必须看起来像桌面应用程序。根据我对HTML,CSS和JavaScript的(有限)经验,我知道这远非易事。我想要的是能够像C ++,C#或Java一样编程,因为我认为这些语言更适合实现GUI。

我的问题有三个:

  • 这可能吗?
  • 可以使用哪些技术?
  • 如果有可能,为什么大多数Web应用程序仍然使用HTML和JavaScript制作?

更新:感谢您的回复!

17 个答案:

答案 0 :(得分:9)

您可以将Python与Pyjamas,Objective-J(以及一些JavaScript)与Cappuccino或Java与GWT一起使用。

如果您不介意依赖浏览器插件,还可以查看Adobe AirAdobe FlexFlashSilverlightJavaFX (或只是简单的Java)。

要回答您的其他问题,大多数网络应用程序都是用HTML / CSS / JS编写的,因为大多数浏览器都可以在没有帮助的情况下运行。我上面提到的所有内容都要编译或依赖于安装了插件的用户。

答案 1 :(得分:8)

是的,您可以使用Silverlight或JavaFX(即使它需要最少的HTML,如4个标签......)。

Silverlight或JavaFX和Flash同时存在的问题是他们对搜索引擎优化(SEO)感兴趣,就像Google& co无法查看您的应用内部。

答案 2 :(得分:6)

几点:

没有 HTML的网页是不可能的。

如果您使用Flash等插件,则其他人建议您仍需要HTML,因为这是网络的语言。 HTML,CSS和Javascript被广泛使用,因为插件主要是专有的,浏览器无法理解。

例如,您通常无法轻松地从插件中复制粘贴文本,并且其他浏览器功能和快捷方式不起作用。你必须权衡更重要的东西。

如果您的应用必须看起来像桌面应用,请将其设为桌面应用

为什么不制作具有互联网连接功能的桌面应用?这是一种欺骗,使它看起来像它不是,当它在另一个应用程序(浏览器)中运行时也很奇怪。

无论你使用什么样的风格,在大多数情况下它仍然不像用户的操作系统。每个操作系统都不同,每个操作系统都允许很多自定义。您可以使用跨平台框架来删除或减少这些问题。

答案 3 :(得分:4)

我不相信看起来像桌面应用程序是成功的关键 - 这究竟是什么意思呢?

Jquery UI让您了解使用标准html / css / js组合的可能性,并且易于实现。

答案 4 :(得分:3)

大多数Web应用程序都是使用HTML和JavaScript构建的,以实现可移植性。但是,如果您想要一个真正“丰富”的用户界面,您可能需要调查Adobe Flash或Flex,或Microsoft Silverlight(您可以使用它在C#中编程)。但是,您将要求您的用户拥有相应的插件。

答案 5 :(得分:3)

您可以使用FlexSilverlight或Flash来创建丰富的界面。

如果您不喜欢HTML和CSS,则可以使用blueprint,HAML,SASS等CSS框架。如果您不喜欢javascript,可以使用jquery或prototype来改善体验。

使用HTML可以让您获得更多可见性。例如,许多便携式设备不处理Flash,大多数人没有Silverlight。还有SEO问题。即使Google现在引用Flash内容,它仍然落后于HTML参考。

最后,对我来说,Web应用程序看起来应该不像桌面应用程序。但如果你真的想这样做,就有办法做到这一点:

alt text
(来源:cappuccino.org

(卡布奇诺)

答案 6 :(得分:1)

正如我已经看到Java FX中使用的语法,我认为使用常规Java Applet会更好(有点主观且有充分理由)。 Applet是嵌入在浏览器中的Java应用程序(具有某些限制)。

HTML / CSS / Javascript用于网页的原因是因为这是他们的目的。它们允许您构建可搜索且有关布局的文档,例如在浏览器中放置Java Applet(例如)会限制你在外观,样式,SEO(如上所述)+++ ...

如建议的那样,Silverlight也是另一种选择。这也是在浏览器中运行的嵌入式应用程序。

如果你掌握了Java,那么applet将是一个不错的选择,如果你可以忍受这些缺点。

答案 7 :(得分:1)

看看Wicket。您可以构建一个Web应用程序,只使用Java编码,就像使用Swing制作桌面应用程序一样。

已编辑:好的,我必须承认,您需要一点HTML体验(您确实拥有),但Wicket为您完成了大部分棘手的JavaScript和AJAX工作。

同样GWT有点类似:它会自动将Java代码转换为JavaScript并为您生成大部分HTML。

答案 8 :(得分:1)

  • 的Silverlight /闪光/等
  • 很多原因:可访问性,SEO,可移植性

答案 9 :(得分:1)

Silverlight似乎最接近你所说的(C#等)

您还可以将Flash用于富Internet应用程序。

老实说,在开始编程之前,你应该至少学习基本的HTML。你应该学到更多,但至少应该学习。

回答你的上一个问题,为什么人们仍然使用HTML ......

并非每个使用网络的人都使用功能强大的桌面电脑。人们通过电话,计算机程序等访问网络。并非所有这些设备都支持RIA,所以你要么把它们留在外面,要么把东西放在每个人都能看到的媒介中。

此外,可访问性(例如,盲人)需要屏幕阅读器在网络上帮助他们。因此,必须能够向用户阅读文档。

当然有更多的理由,但这些是几个例子。

答案 10 :(得分:1)

一个很好的选择是Vaadin。您可以使用Java(或JVM的任何语言)编写Web应用程序代码,而无需编写HTML或JavaScript(但在需要时可以使用)。

答案 11 :(得分:0)

Script#非常适合C#web开发。

答案 12 :(得分:0)

您可以尝试使用Intraweb http://en.wikipedia.org/wiki/Intraweb http://www.atozed.com/intraweb/index.en.aspx

不需要js知识 - 用纯Delphi pascal编写。

或者如果您更喜欢免费软件解决方案,那么Morfik http://morfik.com/ 它有FreePascal,C#和VisualBasic

的版本

答案 13 :(得分:0)

您可以尝试使用ZK(http://www.zkoss.org/zkdem)强大的RIA框架

有了这个很酷的框架,你可以完全用Java和xml构建你的ajax应用程序。

答案 14 :(得分:0)

Visual WebGUI

http://www.gizmox.com

您可以编程,就像使用C#,VB.Net或您选择的.Net编程语言构建桌面WinForms应用程序一样。完全所见即所得的表单设计者就像WinForms一样。除非您想要自定义开箱即用的控件,否则不需要HTML,Javascript或CSS技能。但是,如果您只想要一个WinForms样式的应用程序,则不需要这样做,因为Visual WebGUI已经支持大多数WinForms控件,就像您在Visual Studio中找到的那样。它们只是实现了所有WinForms样式控件,以在Web浏览器中呈现所有客户端部分。与通常在WinForms中处理模式对话框或消息框的方式略有不同,但除此之外,它就像编写WinForms应用程序一样。

答案 15 :(得分:0)

答案 16 :(得分:0)

回答可能晚了,但 Elm UI 可能是一个很好的可能性。 Elm 用于制作网络应用程序。 Elm ui 是 HTML 和 CSS 的完整替代品。

一个很好的参考是 here