Sitemap" content="www.duozhankeji.com">

女的下面张开照片-技術中心

這裏象征著我們的態度和能力

JS前端的未來展望
发布者:admin    信息来源:本站原创    发布时间:2018-10-24      浏览次数:3334
分享到:

新浪微博

騰訊微博

QQ空間

豆瓣網

QQ好友

如果你近幾年一直在從事前端開發,你一定知道已經存在太多的東西讓人難以做出選擇。新的框架和庫隨時都在湧現。全世界的公司都面臨著一大難題:爲了實現數字化,到底該選擇什麽樣的技術棧才算正確。除了面對這個巨大的挑戰,同時還要緊跟最新的技術趨勢。

即使對某些專注于前端的開發人員,也存在選擇個人技術棧的時候。而這個事情可能還優先于選擇正確或錯誤的方法來解決問題。

随着竞争的演化,最快、最高性能和最易用的框架和库被不断的发明出来,人们不禁想问:JavaScript 世界何时能归集到几个主流技术栈上来?JavaScript 未来是什么样子?AI 对这项技术到底会产生什么样的推动?

JavaScript 的背景和流行度

JavaScript 自 1995 年诞生以来,已经成为 Web 领域最受欢迎的语言。过去十年中,JS 语言的使用率一直在增长,未见衰落。

根据 StackOverflow 的年度调查,69.8% 的受访者和 71.5% 的专业开发者使用 JavaScript。随着可以使用 Web 的流行设备越来越多,争夺最佳“一站式”解決方案的竞争愈演愈烈。这对于了解 JS 或者正准备学 JS 的人来说是个非常好的消息。而对于那些没接触过前端的人来说,我建议他们去作些尝试以获得(哪怕最基本的)JS 经验。 下面这句话概括得非常好:

“可以预见,这 [JavaScript] 可能是开发者最需要提升的技能”

框架和 Web 组件 —— 可预见的未来

经历了过近十年的框架之战,脱颖而出的“三大框架”开始稳步引领未来。React、Vue 和 Angluar 目前最重要的 JavaScript 框架和库。我会在本文中按照他们的流行程度排序,并确信他们在未来继续领先。

React


React 由 Facebook 创建并长期支持,深受开发者喜爱,可以用来构建和维护像 POC 这样的产品或大型企业应用产品。目前很多像 Instagram、Netflix、沃尔玛、WhatsApp 这样领先公司都在使用 React。React 的优势在于其基于组件的构架、受益于虚拟 DOM 的超强性能,极快的学习曲线等。它有着庞大的社区支持,在开者中非常流行。

Vue


Vue 由 尤雨溪(Evan You)创建,受到阿里巴巴采用。人们一旦发现 Vue,就会迅速喜欢上它。发生这种情况的原因在于,Vue 最初就设计来帮助开发经验不足的程序员。其目的是帮助他们专注于创建功能界面,而不需要太操心代码。这使得 Vue 门槛极低,非常容易学习。此外,尤雨溪,前谷歌员工,发现 Angular 中存在一些繁琐或者可以改进的东西,便把这些改进应用到了 Vue 当中。当 React 发布的时候,他也学习 React 并针对其缺点对 Vue 进行了改善,使 Vue 逐渐发展成为了现在最具前途的框架之一。Vue 支持声明式渲染,异步 DOM 更新,双向数据绑定,严格遵守 Web 组件规范,并简单集成了 HTML 模板。

Angular

由谷歌构建和支持,并应用于Youtube,Paypal,Google Maps等。目前,Angular已经是企业实施的首选。最新的发布版Angular 6,带来了两个主要亮点。使用lvy渲染器的promise类可加快在应用程序中的渲染速度,并且允许在Angular之外使用Angular组件的元素,例如在Vue或React中。使用Elements包,你可以创建Angular组件,将它们发布成HTML网页可立即使用的Web组件。对于面向对象程序设计的后端和Java后端来说,Anglar更易于学习。


除框架外,我們最近看到了web組件的興起,但是它們到底是什麽?爲什麽會這麽重要?

在一个正遭受框架疲劳的社区,Web组件是自HTML5以来获得能力的最重要的事情。但是它们是什么?‘Web组件是一个新的强大的W3C 标准,已经被所有的主流浏览器认可而且可以在我们的App中使用(需要使用填充工具)’。它附加到DOM中,可以减小web程序,可重用和模块化组件,解耦任何框架,但却是纯粹使用HTML,CSS和JS来构建的。

Web组件具有较小的包,无须发送自定义的组件实现。它们的可重用性受到称赞。由于web组件内置于浏览器中,对浏览器原生支持,所以它们可被用于任何地方,任何框架,或根本没有框架的地方。最后,它们因简洁而受到喜爱。如果你不想的话,你可以不需要去学习一些框架。如果你已经有JS和DOM API的基础,那么你就可以使用web组件了。

lonic/Stencil

Ionic是一个功能强大的框架无关库,用于构建可直接访问本机设备功能的移动和渐进式Web应用程序。随着最新的lonic 4的发布,通过允许开发人员在Angular之外使用它,Stencil的引入将会使其更强大和更高效。怎么做到的?Stencil是一个Web组件编译器,可以构建快速而小巧的现代Web组件。通过使用Web组件而不是像React或Angular这种特定于框架的组件来创建UI组件,我们可以在任何支持它们的框架中重用这些组件,或者单独使用它们。

Polymer

Polymer是一个由Google开发的JS库,用于Google Earth 和 Youtube。它使用web组件来构建web应用,并提供将封装的JS, CSS, 和 HTML组装为自定义元素的能力,它是利用浏览器的原生技术,而不是依赖于JS库。

然而, Polymer 还没有成熟,而且存在一些问题。第一,因为它生成DOM,所以任何交互或者DOM操作都会使用基本JavaScript, 这将增加更多的模板代码,导致组织和管理大型应用变得更具有挑战性。这也是一个提出React和其他库的原因。第二,Polymer 为字符串中的变量创建占位符,以此来提升性能,同时还解决了将其转换成一个字符串的问题,虽然只是将它转成一个对象。但是因为这些占位符不属于Web组件规范,如果使用了这些占位符,就已经将应用直接捆绑到 Polymer 上了。最后几个问题是:下载整个库和Polyfills,而且缺乏服务端渲染。

AI會怎樣改變前端開發——在遙遠(或者可能並不遙遠)的未來

除了庫和框架,AI和機器學習會如何影響前端開發?這是很多人提出的問題,但是已經有少數公司率先提出了這個問題。他們使用了不同的技術,期望能顛覆一個經曆了不同框架和庫周期的領域。方法分爲兩種。

一种是旨在通过从线框图和Sketch文件生成初始代码或生成整个前端输出来帮助开发者。它帮助开发者将注意力放到更重要的开发部分,例如应用逻辑和构建特性。它加速了设计阶段和修改的迭代。这种公司包括从Airbnb ,它最近构建的AI可以将sketch文件转换成源码,到Uizard,它使用深度学习/ML(神经网络)来训练对图形界面快照然后将其翻译为一些源码。使用Uizard令人印象深刻的是;一个文本到GUI渲染器可以运行在多个平台如iOS, Android 和 基于Web的界面,而且算法迄今为止精确度达到了77%。

然后是微软的Ink to Code应用,也是一个对它的尝试,在Windows 商店提供了软件的免费下载。最后,Supernova,是一个创业公司,其使命就是建立一个工具来加快手机设计师和开发者的应用开发流程,Supernova Sutdio的macOS应用,可以将Sketch创建的手机app设计自动转换到原生UI代码,旨在弥补原型设计和前端开发之间的差距。

另一種是將AI更進一步,讓機器來做整個前端的編碼。BAYOU,是一個由軍方和Google資助的Rice大學項目,它使用了一個深度學習工具,從根本上來說就像一個代碼的搜索引擎。通過讀取1500個Android應用的源碼(約1億行Java代碼),BAYOU的神經網絡現在是一個可以編寫其他軟件的AI。

那麽Web-Assembly在這裏又處于何種位置?將來的一種可能

相比解釋型語言JS,WebAssembly能以二進制形式直接運行在所有的浏覽器上。一直以來這個術語(WebAssembly)在開發者社區廣爲流傳,相信不久的將來,作爲JavaScript的補充,它將得到極大地推廣。

爲什麽這麽說呢?因爲WebAssembly減少了TTI(底層交互時間)從而在性能上使web應用變的更快,同時前端開發所選擇的語言也更加多樣化。這樣開發人員就可以通過他們最擅長的語言來構建部分應用,同時提升運行速度,剩余部分則通過JS實現。

總結

我們知道,在今天的前端世界裏,React、Vue和Angular三大框架一直居于主導地位,尤以Vue最被看好。然而,了解了這些框架的前世今生,對于一個全新的框架--其不僅在速度和性能上擁有出色的表現,同時還解決了市面上所有框架所面臨的問題,我們也不會感到很驚訝。

然而,我认为今天所出现的各种技术都将融为一体,在这里将用到web组件、WebAssembly及AI技术--为应用开发提供端到端解決方案,其目的就是搭建出一个开发人员易上手且包含完整解決方案的框架。

爲了更好地利用與共享應用的核心部分,他們將通過web組件的形式來構建。

WebAssembly將在應用中起到加速的作用,爲應用提供更快、更好地性能表現。

不管是在起始階段的編碼、減少不必要的樣本還是在代碼質量的最終審核上,AI技術都將加快整體的開發進程。





4000-880-989
(24小時熱線)
聯系客服
微信公衆號

官方公衆號

小程序

2008-2020 CORPORATION ALL Rights Reserved. 昆明奧遠科技有限公司版权所有 滇ICP备18002679号-2 滇公網安備 53011102000818號
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明網站建設,昆明网络推广,昆明网站优化,昆明网站推广,紅河網站建設,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大數據服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奧遠科技,服务电话:13888956730