2017-09-28
JiangRen Mr
该如何为你的产品选择一个合适的前端框架,这篇文章也许可以给你一些启发
一个有趣的事实是:IBM发表的2017年最值得学习编程语言名单中,JavaScript榜上有名。正是这位IT巨头指出,JS在网站中惊人地达到94.4%的使用率,而且“不太可能降低”。JavaScript能确保“对用户非常友好的网页,因为它负责整个web界面,包括动画和交互”。不管你怎么看,JavaScript很重要。
这也指明了潜在Web开发人员的方向:如果你深入前端,你不得不在某些时刻面对JavaScript。并且正确的开发指南可能有助于此。
让我们假设你知道JavaScript基础知识。纯JS(不是一无所知)的那种。如果假设是正确的(意思是你了解基础),你可能对现代JavaScript框架们的学习更感兴趣。这些框架通常带有预置的函数和一些构建应用的方法。
JavaScript Frameworks
有些人可能会有局限性的思考,认为世界上大多数开发者更喜欢使用框架(不要将它们与库混淆),因为它们使工作更容易,更快速,在通常情况下更可靠。
好吧!说完这些,是时候该深挖一点儿了。
我们的开发团队准备了他们每天使用的框架清单。虽然周围肯定有更多的JavaScript框架,这些是我们最关注的。
接下来,你会看到我们所爱的技术及其各自特点的简单概述。
Vue.js JavaScript framework
这个就像一个还在读高中的超级巨星。它不是一个成熟的技术,所以我们真的无法说,五年后,Vue会发生什么。然而目前,它可能是每个会议议程中最引人注目的话题。
如果你决定和JS极客喝两杯,他会谈论Vue。如果Vue是个流行歌星,那么现在它就是最红的。如果...嗯,你明白我的意思。
它由尤雨溪在2014年2月建立。在2016年,Vue.js拥有惊人的89%的开发人员满意度评估,目前是GitHub中star最多的项目之一。
虚的说差不多了,来点实际的。什么是Vue.js?首先,它是本文中讨论的所有JavaScript框架中最快最小的。它的语法和原理所需要的学习成本不是很高。此外,它还具有高覆盖率的文档。你想要执行的操作绝大部分情况已被记录在案。此外,如果一个操作没有文档记录,你能在线上找到解决方案的几率很小,因为Vue不如Angular或React更流行。
注意:Vue的发音和“view”一样。
随便挑5个Vue.js的特性说一下:
就像React一样,Vue.js仅处理视图层。也就是,它让开发人员自己实现他们的业务逻辑。它也有被称为Flux架构实现的Vuex。作为我们的队友,36Kr某员工说:
在我看来,Vuex比React的Redux使用起来更好,更容易。
此外,Vue.js在Chrome中拥有最好的开发者工具,并且Weex也使用Vue的语法,它是一个通过JavaScript构建原生应用的框架,也是React Native的竞争对手。值得注意的是,Weex并不太完善,特别是对于商业项目。目前,它更多的是一个方案而不是一个真正的技术。
对开发者来说,Vue.js的优势在于:
对客户来说,Vue.js的优势在于:
React.js JavaScript framework
React是由Facebook的Jordan Walke创建的,GitHub的最流行框架中排名第5。然而,React.js(以及React Native)最火爆的时间点是在2015年。
据State of JS调查显示React的开发者满意度最高,达到92%。Vue跟它在同一个级别。根据调查,React的开发者较平均水平来说,在决定哪个技术配套使用前,会尝试多种其他技术组合。
随便挑5个React.js的特性说一下:
开发者掌握React.js的知识后,可以直接用于基于React Native的移动客户端开发。
React对VirtualDOM的使用,以及由此获得的高性能广受开发者好评。经常使用框架的开发者也是这与这项技术相关的庞大社群的重要组成部分。React的快速发展,除了 Facebook的维护外,也要感谢开源项目以及第三方的模块。
此外,随着React将会有一个能够向后兼容的重写版React Fiber的消息放出,React的"第二春"很快就会到来。
对开发者来说,React的优势在于:
对客户来说,React的优势在于:
智慧长老-AngularJS
AngularJS JavaScript framework
Google在2009年第一次发布了AngularJs框架,鼓励使用声明式编程方法去创建用户界面和连接各种组件,另一方面,指令式的编程用于实现程序的逻辑。
Brat Tech公司的Miško Hevery是这个技术的真正作者,当时,它被创建为在线JSON存储服务背后的软件。但是业务没有搞起来,所以公司放弃了这个想法,并将AngularJs作为一个开源库发布。
AngularJS使用双向数据绑定的方式,适配和扩展了传统的HTML来呈现动态内容。
所有这些可能听起来很有意思,事实是AngularJs已经有点老了
实际上。它是我们描述的框架里最老的了,大ReactJS4岁,Vue.js5岁,比Angular2年长了7岁之多。
尽管如此,他拥有Github上最多的贡献者(1,562个),随后是ReactJS,Angular2,Vue.js。
不可否认,AngularJS有一个陡峭的学习曲线,这个缺点在某种程度上被一个大型社区抵消,保证开发人员可能遇到的大多数问题存在解决方案。
随便说AngularJS的5个特性
AngularJS是SPA中最常用的JavaScript框架之一,也是企业级应用的一个很好的选择。但是它确实很老了,大多时候是被老旧的应用采用。
AngularJs对开发者来说的"优"点:
AngularJS对用户来说的"优"点:
译者注:各种黑,我X
尽管在不挖掘源代码的前提下,很难完全了解Angular2的概念,它是一个非常强大的框架 内置了相当多的功能。
以AngularJS为基础,使用Typescript重写。与以前的版本相比,它没有scope或controllers的概念。相反,它使用组件层次结构化作为其主要架构概念。支持动态加载,改进了依赖注入,并提供更为简单的路由和异步模板编译机制。
随便说Angular2的5个特性
基本上,Angular可以摆脱AngularJS中存在的不必要的复杂性。然而,许多人认为,即使用CLI,单个开发人员的配置和启动过程仍然可能太长。
我们的开发团队也不太喜欢提供文档,特别是对于JS和Dart。另一方面,他们又喜欢将技术分解成很多模块。
Angular对开发者的优点:
Angular对客户来说的优点:
想要一个简单的答案? 没有。这跟公司目标、需求、以及最终的功能都有关系。举例来说,Angular2更像是一个百宝箱,特别适合大型项目。它非常复杂,并且需要花很多时间来全面的学习和掌握(但比AngularJS要简单一些)。但使用以JavaScript为核心的React,开发者就能快速高效得拼凑出一些有用的东西。
每个框架都在以不同的方式尝试适合用于不同场景的Web应用开发,包括MVP、创业公司和商业场景。
本文来自翻译:insanelab.com,如若转载,请注明出处:http://36kr.com/p/5085661.html
如果您的产品或项目希望被36氪报道,欢迎联系36氪采访小助手,微信号:report36Kr02
AI一日Workshop:学会GPT-4o Canvas、Perplexity AI、NotebookLM三大工具
2025/03/15 05:00 (Sydney)
商业数据分析实战班第17期(Self-Paced + Tutor)
2025/03/15 06:13 (Sydney)
数据工程全栈班第16期
2025/03/23 07:02 (Sydney)
地址
Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)Level 2, 171 La Trobe St, Melbourne VIC 3000四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号Business Hub, 155 Waymouth St, Adelaide SA 5000Disclaimer
JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.
匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议
© 2017-2024 JR Academy Pty Ltd. All rights reserved.
ABN 26621887572