【问题标题】:Web development without using HTML/CSS/JavaScript不使用 HTML/CSS/JavaScript 的 Web 开发
【发布时间】:2009-07-01 14:35:55
【问题描述】:

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

我的问题有三个:

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

更新:感谢您的众多回复!

【问题讨论】:

标签: web-applications


【解决方案1】:

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

Silverlight 或 JavaFX 和 Flash 同时存在的问题是它们在 SEO(即搜索引擎优化)方面表现不佳,因为 Google & co 无法查看您的应用程序内部。

【讨论】:

  • 我很惊讶我是唯一一个提到它的人!尽管我不喜欢 JavaFX 应用程序,但它是 Flash 和 Silverlight 的有效且成熟的替代品。
  • 如果您告诉 Flash/Flex/whatever 生成“可访问的 SWF”,Google(不知道其他搜索引擎)可以很好地查看 Flash 内部。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

    几点:

    不可能有一个网页没有 HTML。

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

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

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

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

    无论您使用什么样式,在大多数情况下,它看起来都不像用户的操作系统。每个操作系统都是不同的,每个操作系统都允许大量定制。您可以使用跨平台框架来消除或减少这些问题。

    【讨论】:

    • “为什么不做一个桌面应用”:我们已经为我们的服务器准备了一个桌面客户端,但我们的销售部门现在认为网络应用是要走的路:-(
    • 然后您需要向他们解释每种方法的优缺点以及每种方法如何适合您的项目。如果网络应用程序更合适,我建议通过使用 HTML 而不是插件来保持它“开放”和可访问,并使其像网络应用程序一样工作,而不是桌面应用程序。
    【解决方案4】:

    我不相信看起来像桌面应用程序是成功的关键——这到底意味着什么?

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

    【讨论】:

      【解决方案5】:

      为了可移植性,大多数 Web 应用程序都是使用 HTML 和 JavaScript 制作的。但是,如果您想要一个真正“丰富”的用户界面,您可能需要研究 Adob​​e Flash 或 Flex,或 Microsoft Silverlight(您可以使用它们在 C# 中编程)。但是,您将要求您的用户拥有适当的插件。

      【讨论】:

      • Gab 对 JavaFX 的建议同样有效。
      • Abode flex,忘了这个了。
      【解决方案6】:

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

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

      使用 HTML 可以提高您的知名度。例如,很多便携式设备不支持 Flash,而且大多数人没有 Silverlight。还有SEO问题。即使 Google 现在引用 Flash 内容,它仍然远远落后于 HTML 引用。

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


      (来源:cappuccino.org

      (卡布奇诺)

      【讨论】:

      • “Web 应用程序不应看起来像桌面应用程序”。我当然同意。但是,在我的公司内部,他们希望将我们的 C++ 应用程序移植到 Web 应用程序,所以我认为他们希望看到 all 功能被移植:(
      【解决方案7】:

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

      【讨论】:

        【解决方案8】:

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

        您还可以将 Flash 用于富互联网应用程序。

        老实说,在开始 Web 编程之前,您至少应该学习基本的 HTML。你应该学到的远不止这些,但至少是这样。

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

        并非每个使用网络的人都使用功能适中的台式计算机。人们通过手机、计算机程序等访问网络。并非所有这些设备都支持 RIA,因此您要么将它们排除在外,要么将内容放在每个人都可以看到的媒体中。

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

        当然还有更多的原因,但这些只是几个例子。

        【讨论】:

          【解决方案9】:
          • 是的
          • Silverlight/Flash/等
          • 很多原因:可访问性、SEO、可移植性

          【讨论】:

            【解决方案10】:

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

            HTML/CSS/Javascript 用于网页的原因是因为这就是它们的用途。它们使您可以构建可搜索且布局灵活的文档,例如在浏览器中放置 Java Applet(例如)会限制您在外观、样式、SEO(如前所述)+++...

            正如建议的那样,Silverlight 也是一种替代方法。那也是在浏览器中运行的嵌入式应用程序。

            如果您精通 Java,如果您能忍受这些缺点,那么小程序将是一个不错的选择。

            【讨论】:

              【解决方案11】:

              看看Wicket。您可以构建一个仅使用 Java 编码的 Web 应用程序,其方式与使用 Swing 制作桌面应用程序非常相似。

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

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

              【讨论】:

                【解决方案12】:

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

                【讨论】:

                  【解决方案13】:

                  您可以尝试使用 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 的版本

                  【讨论】:

                    【解决方案14】:

                    你可以试试 ZK(http://www.zkoss.org/zkdem) 一个强大的 RIA 框架,

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

                    【讨论】:

                      【解决方案15】:

                      可视化WebGUI

                      http://www.gizmox.com

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

                      【讨论】:

                        【解决方案16】:

                        服务器端?使用哈斯克尔。例如http://mflowdemo.herokuapp.com/

                        客户端?使用 Haskell:

                        https://www.airpair.com/haskell/posts/haskell-tutorial-introduction-to-web-apps

                        【讨论】:

                          【解决方案17】:

                          可能会迟到回答但Elm UI 可能是一个很好的可能性。 Elm 用于制作 Web 应用程序。 Elm ui 是 HTML 和 CSS 的完全替代品。

                          一个很好的参考是here

                          【讨论】:

                            猜你喜欢
                            • 2011-04-03
                            • 2015-02-25
                            • 2023-03-05
                            • 1970-01-01
                            • 1970-01-01
                            • 2011-03-11
                            • 2011-12-19
                            • 2012-08-27
                            • 2021-08-11
                            相关资源
                            最近更新 更多