搜索
首页web前端js教程详解JavaScript为何会在移动端中胜出?

JavaScript并不是世界上最优美的编程语言。正因如此,一个世界级的专家写了一本关于这个语言的“精粹 ”的书。这本书的名字是“深度挖掘javascript的亮点”,因为优秀的东西被埋的相当深。即便如此,它还是迅速地称为世界上最受欢迎的语言之一。这种受欢迎是应得的,因为尽管这种语言存有缺陷,但是javascript提供给开发者其它语言不能给予的重要的优势。有一些优势是在浏览器的开发商同意了Javascript(好吧,技术上的ECMAScript)作为web语言的标准后产生的。其它的是固有的web应用编程模型以及更没有通过什么增强改进。然而,尽管原生态的应用程序统治了web应用在移动设备上的地位,但是JavaScript的优势正在逐步转向移动设备。最终它会主宰吗?

为什么 JavaScript 会在移动端中胜出?

流行然而并不优先

最近的TIOBE社区列表将JavaScript列为在所有编程语言中的第六位并且还在持续上升。TIOBE方法的排名倾向于支持老旧的,更加成熟的语言,而不太擅长去追随潮流。相比之下,Redmonk排名方法将JavaScript放在第一的位置上。Redmonk方法某种程度上会偏向于有着强大开源社区的语言,但是同时在实质上会反映现在的趋势和兴趣点。我们自己的开发者经济概览已经表明HTML5/Javascript的联合已经是移动端开发者所采用的第二流行的语言,几乎55%的人使用。仅仅以微小的优势输给57%的人使用java。然而,尽管我们发现HTML5和Javascript的组合在优先选择的人群上为(19%),在这个方阵上远远落后于Java(29%)。这看起来会在未来几年显著提高。[你怎么认为呢?我们已经有了一个新的调查,所以看看这个调查然后让我们知道你的看法]

JavaScript在浏览器上飞向自由

这并不是一个标准的“网赢”的说法。我并不认为浏览器或者是基于网络视图的应用程序最后会统治移动设备。即使使用而且增长但不会是常态。如果将来真的开放web标准来统治移动设备那么他们需要从文档对象模型(DOM)开始。DOM不是构建应用程序,而是文档的基础。当然你可以最初围绕一个平台设计一个用于文档的应用程序,但是你会举步维艰。看一眼现在的框架,允许你为移动浏览器或网络视图设计的相当高性能的应用程序:React.js 、 Famo.us 和lonic。这三者的共同点就是尽可能少用DOM。

是的,有太多的 WebGL(或者说 HTML5 Canvas 必备),但是这些都是低级别的 APIs。你所需的是大的、可能是多字节的、好的框架为开发大多数应用来创建一个优秀的平台。这不太适合 web 应用编程模型,其中最新的程序代码是放在一个远程的服务器上,尤其不适用在一个移动的环境中。能在一个大的好的存储在本地的WebGL上创建一个混合型的应用是真的,而且只是从远程的服务器上获取程序特定的代码。但是为什么要使用浏览器呢?为什么不只是 javaScript 能优于其他的在硬件图形加速器(提示:Qt 提供不错的产品)的跨平台框架。一个高级别的 API 在语言之间的桥接上是不会有那么多的开销的。或许在涉及访问特定功能的时候也是欠缺限制。

现在有几个符合这一描述的非常有趣的新选择。 React Native 和 NativeScript.。它们以不同的方式运行,但是二者都是用 JavaScript 来构建一个原生态 UI 的应用程序。Appcelerator 的 TiNext 可能也是很有意思的,即使它们多年来被多次谈论却不曾公开一个版本,因此让我们耐心等待并一睹它的风采。

JavaScript异常

苹果已经恢复了JavaScript 在移动端的优势。阻止了大多数开发人员在移动端采用一个敏捷、web 样式持续交付模型的冠一个关键事情就是 Apple 在代码下载上的禁令。如果没有这种迭代模式的显著放缓,对比测试会更加困难。这实际上就意味着开发者,尤其是初学者,会学的慢些。直到最近,唯一获取更快的迭代的方式就是首先从 Android 开始,开发一个混合的应用程序,因为 Apple 使得JavaScript 称为在 webview 代码下载规则中的一个异常。在第一种情况下,它意味着大多数早期的采纳者正在远离这个平台。不幸的是第二种情况下 UX 的取舍实在是太大了,大多数开发者因为用户用程序故障或者切换到本地去走那条路线。但是在 ios7 中为运行 JavaScript 增加了 JavaScriptCore 接口,而且最新的 ios 开发者程序许可证条款中,他们修改了代码下载异常的规则包括 JavaScriptCore。

这从安全的角度上讲是有道理的。Apple 能审计和更新他们的运行时间,然而如果他们允许地第三方运行时下载代码,他们就没有有效地监控安全问题。因为 JavaScript 是 Apple 的唯一脚本选项并且他们不允许下载代码到本地,JavaScript 在恢复特权地位–作为那些想快速迭代的唯一选择。JavaScript 的可用性引发了一些努力,像 React 和 NativeScript 和 Apple 对代码下载政策的放宽把握已经完美地对外公布。

开放会赢吗?

Web 提倡者有时候表明基于 web 的开放标准最终会胜利,因为开放一直都会赢。然而,Linux 就是一个明显的例子,这是一个开放的迅速发展的却没有委员会统一标准的生态系统。React,Facebook 似乎成了开源项目中快速构建的一个开发者生态系统。已经有了一个围绕 React.js 快速成长的委员会,这明显给他们带来了领先的机会。但是在 Telerik 的 NativeScript 团队正与 Google 共同工作,因此Angualr2.0 需要被无缝集成。Google 打算支持非 DOM 的环境,不管 web 标准是否朝向它。微软和谷歌可能需要一段很长的时间来支持他们在未来浏览器将实施的的标准。但是他们在共同朝着 TypeScript 努力,使构建一个负复杂一点的带有 JavaScript (证明是编译器在发现类型不匹配上比人聪明)应用程序更加简单。

Apple 已经为他们的新 Swift 语言建立了许多相当令人印象深刻的工具,尤其是互动场景(interactive playground)。然而,Facebook 在 React Native 上依据即刻反馈和高频即时编码可能已经有了更好的编码体验。苹果将会继续迭代他们的工具,开发者社区现在已经增加了这些新的 JavaScript 环境工具。Android 可能技术上是开源的,但是它在社区建设上却不是开放的。谷歌正在独自增强 Android 的平台和工具。大概真的是开放的开发者社区才会胜利,而真正基于社区的开源能够比基于开源标准的开放迭代更快。为此,“本地的 UX 使用 JavaScript 去建立”环境并取得成功,这样的平台肯定不会失败。应用还是会依据平台的外观和感觉,并采用新的特定平台的 API 去建立。

这个时候,看起来好像非常开放的JavaScript开发者社区将要赢得胜利了,因为他们制作的APP具有本地平台的的外观,感觉和性能,除了需要有Web开发的经验。封闭平台以往一直取胜是因为那时候的APP需要为他们封闭的生态系统定制。目前,开放的web标准还是输的。如果手机浏览器厂商能同意新标准,让他们制作的应用能具有本地应用那样的体验,那么他们就一定会取得胜利。

你是用什么来制作的?

你认为JavaScript将会掌控移动开发的未来吗?还是Java,Objective-C和Swift继续它们的领导地位? 那物联网,它的后端会通过Node.js吗?通过调查,让我们知道你用什么来建立你的APP吧。

以上是详解JavaScript为何会在移动端中胜出?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
JavaScript的角色:使网络交互和动态JavaScript的角色:使网络交互和动态Apr 24, 2025 am 12:12 AM

JavaScript是现代网站的核心,因为它增强了网页的交互性和动态性。1)它允许在不刷新页面的情况下改变内容,2)通过DOMAPI操作网页,3)支持复杂的交互效果如动画和拖放,4)优化性能和最佳实践提高用户体验。

C和JavaScript:连接解释C和JavaScript:连接解释Apr 23, 2025 am 12:07 AM

C 和JavaScript通过WebAssembly实现互操作性。1)C 代码编译成WebAssembly模块,引入到JavaScript环境中,增强计算能力。2)在游戏开发中,C 处理物理引擎和图形渲染,JavaScript负责游戏逻辑和用户界面。

从网站到应用程序:JavaScript的不同应用从网站到应用程序:JavaScript的不同应用Apr 22, 2025 am 12:02 AM

JavaScript在网站、移动应用、桌面应用和服务器端编程中均有广泛应用。1)在网站开发中,JavaScript与HTML、CSS一起操作DOM,实现动态效果,并支持如jQuery、React等框架。2)通过ReactNative和Ionic,JavaScript用于开发跨平台移动应用。3)Electron框架使JavaScript能构建桌面应用。4)Node.js让JavaScript在服务器端运行,支持高并发请求。

Python vs. JavaScript:比较用例和应用程序Python vs. JavaScript:比较用例和应用程序Apr 21, 2025 am 12:01 AM

Python更适合数据科学和自动化,JavaScript更适合前端和全栈开发。1.Python在数据科学和机器学习中表现出色,使用NumPy、Pandas等库进行数据处理和建模。2.Python在自动化和脚本编写方面简洁高效。3.JavaScript在前端开发中不可或缺,用于构建动态网页和单页面应用。4.JavaScript通过Node.js在后端开发中发挥作用,支持全栈开发。

C/C在JavaScript口译员和编译器中的作用C/C在JavaScript口译员和编译器中的作用Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

JavaScript在行动中:现实世界中的示例和项目JavaScript在行动中:现实世界中的示例和项目Apr 19, 2025 am 12:13 AM

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript和Web:核心功能和用例JavaScript和Web:核心功能和用例Apr 18, 2025 am 12:19 AM

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

了解JavaScript引擎:实施详细信息了解JavaScript引擎:实施详细信息Apr 17, 2025 am 12:05 AM

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!