`
bugtags
  • 浏览: 28441 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

阅读更多

 

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

    在IT行业中,移动端后台开发是构建移动应用服务端的重要环节,而使用JavaScript作为主要开发语言的框架和模块,可以极大地提升开发效率和用户体验。本文将深入探讨“非常华丽的移动端后台开发模板JavaScript”这一...

    h5PickerView纯原生Javascript实现的移动端多级选择器插件

    本文将深入探讨一款名为h5-PickerView的纯原生JavaScript实现的移动端多级选择器插件,它以其小巧的体积和高效的性能,为开发者提供了便捷的解决方案。 一、h5-PickerView简介 h5-PickerView是一款基于JavaScript...

    javascript判断是否移动端访问跳转到手机网址代码

    javascript判断是否移动端访问跳转到手机网址代码

    一个基于原生JavaScript开发的移动端省市县三级联动插件

    这种交互方式被称为“联动”,在移动端尤其常见,因为它可以节省屏幕空间并提供良好的用户体验。 原生JavaScript是这种插件的核心,它不需要依赖任何外部库如jQuery或Vue,使得代码更轻量级,加载更快,且对性能...

    移动端页面弹出对话窗口效果Demo

    在移动端开发中,用户体验往往对应用的成功与否起到关键作用,其中对话窗口的交互设计尤为重要。本文将详述如何实现移动端页面的弹出对话窗口效果,包括涉及到的技术、步骤以及优化建议。 首先,对话框在移动端界面...

    JavaScript+CSS的移动端3D翻转刷新

    在移动端,兼容性是一个重要考虑因素。CSS3的3D变换在现代浏览器中通常支持良好,但老版本的iOS Safari和Android浏览器可能存在问题。为了确保跨平台一致性,可以使用`@supports`查询或JavaScript检测浏览器特性来...

    基于JavaScript开发的移动端手势库

    总结起来,基于JavaScript开发的移动端手势库是移动应用开发中的重要组成部分,它利用JavaScript的事件处理能力和动态特性,为用户提供了自然、直观的交互方式。理解和掌握这些技术,可以帮助开发者创建更加引人入胜...

    【JavaScript源代码】JavaScript Html实现移动端红包雨功能页面.docx

    JavaScript Html实现移动端红包雨功能页面  本文实例为大家分享了Html实现移动端红包雨功能页面的具体代码,供大家参考,具体内容如下 实现效果如下: 具体代码如下 html部分: <!DOCTYPE ...

    javascript适合移动端的响应式瀑布流插件

    在移动端,JavaScript能够实现各种复杂的用户界面效果,包括我们今天要讨论的主题——响应式瀑布流插件。响应式设计是现代网页开发的关键,它使得网站能够适应不同设备的屏幕尺寸,提供良好的用户体验。 瀑布流布局...

    基于HTML模板和JSON数据的JavaScript交互(移动端)_.docx

    【基于HTML模板和JSON数据的JavaScript交互(移动端)】是一种常见的前端开发技术,它结合了HTML模板和JSON数据,使得JavaScript能够动态地渲染和更新页面内容,尤其在移动端应用中非常常见。这种方法能够提高代码的...

    jQuery手机移动端点击弹出时间选择代码

    在标题为“jQuery手机移动端点击弹出时间选择代码”的项目中,我们关注的是一个基于jQuery的解决方案,它允许用户在手机或平板电脑上方便地选择时间。这个功能对于日程安排、预订系统或者任何需要输入时间的应用都...

    【JavaScript源代码】JavaScript实现移动端签字功能.docx

     本文实例为大家分享了JavaScript实现移动端签字功能的具体代码,供大家参考,具体内容如下 一、html部分 <div class="mui-content-padded"> <div class="mui-inline"><font style="font-family: '微软雅黑';...

    移动端Dialog弹出对话框插件同时支持jQuery和Zepto

    在移动端Web应用开发中,用户交互的体验至关重要,而Dialog弹出对话框是常见的交互元素之一。`dialog.js`插件就是为了满足这种需求而设计的,它专为移动端优化,同时兼容了两种流行的轻量级JavaScript库:jQuery和...

    JS移动端点击弹出遮罩层

    下面将详细介绍如何使用JavaScript来实现这一功能,以及在移动端适配方面需要注意的关键点。 首先,我们来构建HTML结构。在这个例子中,我们需要一个按钮触发遮罩层的显示,并且需要一个遮罩层元素本身: ```html ...

    适用于移动端的弹出层

    在移动端应用开发中,弹出层(通常称为对话框或模态框)是不可或缺的元素,用于显示警告、确认信息、表单输入等交互场景。本文将深入探讨“适用于移动端的弹出层”这一主题,主要围绕JavaScript开发中的模态框和弹出...

    JavaScript实现移动端滑动选择日期功能_.docx

    JavaScript 实现移动端滑动选择日期功能是移动端开发中常见的需求。该功能可以让用户通过滑动选择日期,提高用户体验。本文将详细介绍如何使用 JavaScript 实现移动端滑动选择日期功能。 知识点1:使用 jQuery 实现...

    好用的移动端弹出窗口

    在移动端,由于屏幕尺寸和操作方式的限制,弹出窗口的使用需要更加谨慎和人性化。这个插件则提供了这样的灵活性,使得开发者可以通过简单的API调用来创建和控制弹出窗口。 1. **自定义样式**:在传统的alert对话框...

    pulltorefresh移动端下拉刷新库原生JavaScript实现

    在实际项目中,可以将此原生 JavaScript 实现封装为一个可复用的组件,通过配置参数和事件回调,轻松地集成到任何移动端应用中。同时,考虑到性能和复用性,可以考虑将其转换为模块化代码,如使用 ES6 模块或 ...

    SMDropDownList下拉弹框适用于移动端

    SMDropDownList是一款专为移动端设计的下拉弹框组件,它主要利用JavaScript技术实现,旨在提供便捷的交互体验和良好的可定制性。在移动应用中,这种组件通常用于实现选项选择、搜索过滤或者菜单展示等功能,使得用户...

    【JavaScript源代码】javascript实现移动端轮播图.docx

    javascript实现移动端轮播图  本文实例为大家分享了js实现移动端轮播图的具体代码,供大家参考,具体内容如下 <!DOCTYPE html>  <html lang="en">  <head>   <meta charset="UTF-8"> , initial-scale=1.0...

Global site tag (gtag.js) - Google Analytics