HTML5 / JS最终会取代所有客户端语言吗?[关闭]


12

我只是想知道这一切的未来。恕我直言,有4种力量定义了技术的发展方向:微软,苹果,谷歌,Adobe。

看起来在Apple的iPhone / iPad iAD中,现在可以使用HTML5对其进行编程了。那么这是否意味着HTML5最终将取代Objective-C?

而且,微软现在已经将重点从WPF / Silverlight转移到了HTML5,我认为Visual Studio 2011将全部是对HTML5的工具支持。因为那是微软所做的。(工具)。在几个月后的IE9中,最后一个主流浏览器将支持HTML5。

同样,Adobe正在加入HTML5潮流,并允许使用其最新工具将Flash内容导出到HTML5。

而且我们都知道html5对Google有多大帮助。哎呀,他们最新的操作系统(Chrome OS)只是一个庞大的网络浏览器。

对于一家公司来说,移动应用程序(例如iPhone,Android,WM7)很难编程,尤其是对于许多不同的设备(每种都有自己的语言)进行编程,因此我认为这不会持续太久。即,HTML5将成为统一语言。对于应用程序开发人员来说,这有点可悲,因为现在用户将可以在网络上免费玩“酷”的html5应用程序,并且很难为他们付费。

那么强类型语言真的注定了吗,在未来的5-10年内,客户端编程是否仅会使用HTML5?我们所有人都将成为javascript程序员吗?:)因为这些迹象肯定指向那个方向...


1
那些不断进步的提倡者现在必须在坟墓中滚动。
Gio Borje 2010年

2
您是说不再需要强类型输入的好处了吗?
亚伦·奥诺德

1
我认为这将是VS 2012,而不是
VS2011。– DeadMG

6
如果真是这样,我将不得不自杀。
工作

2
我担心担心浏览器的兼容性。真是幼稚。
松饼人

Answers:


14

我认为建议HTML5 / JS取代所有客户端语言是错误的。未来几年会否有很多应用程序采用这种方式?很可能是。会全部吗?没有。

要注意的另一个主要点是景观在不断变化。HTML5是一项伟大的技术,有望解决开发人员在尝试编写可跨平台工作的应用程序时遇到的许多问题。当然,HTML5 / JS可以解决许多这样的问题,但是情况将会改变,还会出现一系列新的问题。HTML5最终看起来会过时。

在十年中,问问自己,HTML5 / JS是否是所有问题的解决方案,我几乎可以保证,答案是否定的。在20年后,这个问题本身可能看起来很荒谬。


+1我完全同意。回顾一下历史,“最新和最伟大”总是被新的“最新和最伟大”所取代。那是编程如此出色的一部分,它将永远发展。
贝丝·怀特泽尔2010年

事情以不同的速度发展-例如计算机用户交互-打孔卡,键盘,然后是鼠标-我经常想知道下一步是什么,因为这可能证明客户端应用开发中的主要游戏改变者-语音,3D-它们会增加-但会取代键盘/鼠标?我认为是这样-尽管不确定何时。
亚伦·奥诺德

6

Javascript是一种非常糟糕的编程语言。从静态类型的编程语言(例如带有GWT的Java)进行翻译变得越来越普遍。Javascript可能成为与汇编程序相同的统一语言-您可以直接用Java编写,但这很少是个好主意。


1
我不只知道静态类型的语言,但是如果您在其中扔jQuery或MooTools之类的东西,我会同意的:)
Damovisa 2010年

8
我不同意JavaScript是糟糕的语言,这绝对是不正确的!:)似乎许多懒惰的程序员多年以来都知道Java或其他服务器端语言,他们不想通过学习新语言来提高自己,他们说JavaScript很差:D这就是为什么有这么多工具的原因以及使用服务器端语言生成JavaScript的框架!JavaScript不是网络玩具,而是一种真实的语言!
赞戈

我也不同意。我相信对JavaScript这样的说法是放错了地方。许多专业人士和成功的产品会不同意。时间是最好的测试,到目前为止,JS在克服技术时钟方面做得很好。

我无法想象为什么我会更喜欢编写50行Java,希望当我可以编写10行Javascript并重新加载页面时可以热交换我的更改。还是在我不看时取消了Web服务器重启?
凯文·克莱恩

5
在我的职业生涯中,我用大约十二种语言编写了商业软件,并且每天都在编写JavaScript。考虑到JavaScript是在1995年设计和实施的,它是一种合理的语言。即便如此,我还是听不懂JavaScript的辩护者。它具有严重的缺陷,需要负责任的编码人员完全避免某些语言功能,并以原本不希望的方式使用其他功能,以提供缺少的功能。也许他们不将其用于大型项目?我发现在具有许多编码器的大型系统中使用它相对困难。
PeterAllenWebb

1

是。

这就是为什么。应用程序由用户界面代码和后端数据组成。用户界面代码在HTML5 / CSS3 / Javascript中运行。后端代码可以是专有的,并且可以使用任何一种语言运行。此外,jQTouch和类似的库可用于模拟类似iPhone的UI,但它们是开源的,并用Javascript / HTML5 / CSS编写。jQTouch已经表明,如果浏览器为JS程序员提供访问设备的UI事件的权限,则JS程序员将模仿针对同一平台的任何一种UI风格。

Javascript程序员的需求将比以往任何时候都更多。在模型视图控制器架构中,模型和控制器位于后端,但是视图代码最好用浏览器编写。即HTML5,JavaScript,CSS。而且,您需要编写JS代码来访问后端数据,尤其是使用繁重的AJAX代码时。

生产率的提高全部归功于动态解释语言。随着处理器变得越来越快,程序员的编码生产率,系统管理员生产率和应用程序管理员生产率对整体生产率的影响更大。您根本不必担心编程语言的VM或编译器的执行速度如何。您现在需要更多地担心配置和支持您的应用需要花费多少。

我认为大多数独立应用程序都不是很好。就像很少有出色的独立PC应用程序一样,最好的独立PC应用程序也正在转变为Web应用程序。实际上,最好免费提供HTML / JS / CSS客户端应用程序,并按月收取访问后端数据和业务逻辑的费用。与一键式应用程序相比,程序员会更好地销售订阅。

BTW 观看了有关在Webkit浏览器上编写独立Web应用程序一部分的视频。挺有趣的...


1
关于“一次性”应用程序的一件好事是,您几乎不必像在网络上的任何地方那样都使用整个烦人的用户名/密码。状态保存在本地。此外,许多客户端应用程序实际上并不需要后端。想想Flash游戏。谁在购买足球妈妈Flash游戏的订阅?没有人。谁在购买移动应用程序?大家。不幸的是,我担心html5会杀死这些应用程序。能够让独立开发人员一次赚钱真是太好了。

@Schnitzel-如果独立开发人员也建立后端,他们将赚钱。
杰伊·戈德斯

2
-1代表“生产率的提高全部归功于动态解释语言”- 我认为这是非常错误的。我在使用静态类型编译语言(例如Scala)方面的工作效率更高。与使用动态语言(例如PHP,Python和Ruby)相比,直接在IDE中发现错误的速度要快得多。
乔纳斯(Jonas)

我真的看不到使用PHP / Ruby / Python代替Scala的任何好处。
乔纳斯(Jonas)

@Jonas-您在programmers.stackexchange.com/questions/7516/…上的自己的问题表明,动态语言主导着生产力。
杰伊·戈德斯

1

有一种用HTML / Javascript替换应用程序编码语言(如C ++,Java ...)的意愿。这背后有许多原因,其中一些是:

  • 发展更快
  • 劳动力便宜
  • 内置连接
  • 更容易产生看起来不错的东西
  • 索引引擎可以访问文本

但是也许还会出现其他语言,以替代JavaScript。毕竟,很难有一种语言能够在保持高级语言的同时又能正确完成所有事情!JavaScript已经存在了一段时间,并积累了一些缺点。

JavaScript可能最终会成为客户端的主要语言,但我认为它不可能也不应该是唯一的语言,因为JS是一种标准驱动的,由委员会设计的语言,这只会扼杀创新在该级别(编程语言)。


0

它还取决于大多数开发人员的技能和他们使用的工具。您提到的技术巨头可以根据他们提供的工具来驱动技术。例如,人们说HTML5是Flash的杀手er,但我认为这与许多Flash开发人员相距太远,而将他们的技能转向JavaScript则是一项艰巨的任务。最终发生的事情是,技能保持不变,但输出却不同。在这种情况下,Adobe推出了HTML5转换工具。

另外,您还必须考虑客户端应用程序的性能。如有必要,将使用平台专用工具。以游戏和iOS应用为例。我知道WebGL表现不错,但我觉得人们仍然使用C来创建游戏。否则,他们将创建一种游戏语言来创建高性能游戏。苹果最初只希望使用Web应用程序,但是当开发人员看到可可的奇迹时,他们便跳上了它,以创建经典的应用程序。

综上所述,总会有新工具/语言/技术永远比当前的工具更酷


0

不是全部,但可能大部分。也许javascript可以变得足够快以替换HashCalc,但是没有Web替代VLC(浏览器将不支持所有这些编解码器)。我怀疑网络浏览器会让我访问任何我想要的文件或存储最近的文件列表(每次单击最近的文件都没有“可以访问”的意思),而且我不喜欢分发应用程序占99%的Web浏览器的想法(几个MB)与我的100kb代码有关代码中断的情况,bc浏览器与html不向后兼容,或者我需要对webkit进行变体/轻微修改。

-edit-我也喜欢静态语言而不是动态语言,但是我假设我可以在LLVM中使用一种好的语言,浏览器应该支持这种语言。


-1

我认为我们会一直朝着这个方向发展,直到浏览器成为操作系统为止,然后一切都将以相同的顺序重新循环,但要吸取教训并加以改进。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.