2015年JavaScript或“亲库而远框架”

2015-11-12 admin

2014年过去了,作为一个JavaScript开发者很难满怀信心的去“挽回”一个特定的库或技术,即便是强大的Angular,似乎也因为最近的一些事情而动摇。

2014年10月的ng-europe会议上,Angular开发者团队透露了一个关于Angular 2.0路线图的重大更新。而最有争议的信息之一是NG2.0将与现有的Angular代码“向后不兼容”。事实上,几个关键的概念将在全新的体系结构中被弃用,Angular开发者需要有效的掌握全新的框架。

显然,这一举措令很多人感到不满。是对还是错?我们不太清楚,不过感觉上,Angular开发者在过去两年里的知识、实践和代码已经被任意的弃用了。更糟糕的是,替代品还不会马上出现——这应该是一年以后的事了,反对者认为,一旦Angular 2.0在2015年发布的话,那么开发者手中的新项目将经历“由生到死”的命运。

有很多不快的评论专门指向Angular和谷歌,有些是中肯的,有些或许并非如此。但最高得票意见之一的并不是关于Angular。它指向整个JavaScript环境,Reddit的othermike评论道:

我不明白,我不明白为什么有人认为这是一个好注意,这是很恐怖的,因为没有人有时间去理解它,当它以每三十秒的速度改变。

othermike所反映的问题也正是流失的问题,有太多的JavaScript框架都改变的太快了。

这种变化的速度是可持续的吗?

创新是伟大的,但是这种churn rate似乎过度了,当不能保证创新物的寿命时,不仅让开发者不可能做大,也加大了前期时间投入——掌握处理新框架和技术。程序员想要创造事物,并且要成为事物的主人。但是当花费大量时间去学习时,程序员该如何完成事情?又如何通过不熟悉的技术在黑暗中探索?

无需绝望

情况是糟糕的,但是人是聪明的,开发者有够足智多谋,而且编写新应用的需求不会让任何人放弃,那么我们需要做些什么呢?或许我们可以采取以下三个主要的经验教训:

以健康的怀疑态度对待新的技术。谨慎的将新的GitHub项目投入产品,等待一些事物被通用、错误修正以及被证明毫无疑问的成熟。

不要轻信于公司的支持。谷歌不是第一次对开发者所依赖的生态系统“釜底抽薪”。去问问那些使用Google的Web API的开发者就知道了。公司总会存在非理性的行为,他们的利益并不总是和你一致。

更倾向专门的库而不是整体框架。当你选择一个框架时,意味着你做了一个大的、长期的承诺。然而一旦框架被证明是错误的,你会失去很多,但是如果你从库中选择时,你可以替代一部分前端堆栈的同时保留其余部分。

库>框架?

在Angular争论的结果中,Reddit网站跟帖中有这么个问题:JavaScript开发者感觉更喜欢迁移到哪个技术?这里有r/javascript不得不说的:

React.js 和 Flux (一个只有视图 view-only 的库和事件驱动模块)

Ember.js(MVC框架)

Knockout.js (视图库)

Backbone.js (MVC框架)

Meteor(同构框架)

Mithril(MVC框架)

Ember(MVC框架)

不要框架,只需要一堆库就可以

Vue.js (视图库)

Breeze.js (数据库Model-only)

Ractive (视图库)

有趣的是这里有多少选项根本不是成熟的框架,而是专业的库——主要用于数据绑定的DOM。有人提出:“在没有整体框架,只有模块化组件的情况下去做一件事情会比较好。”他是这么说的:

我真的认为这是最好的答案。世上永远不会有一个完美的框架,因此你仅可以使用npm将相关的特征聚在一起。我发现这些小的组件的文档通常是很简单的,你不需要去等待下一个完整框架的发布。你简单的抛出一个问题,作者修复它,把它推到npm的同时不会打扰到其他组件。

如果你发现自己不喜欢制模语言或错误处理,你不必考虑整个项目,只需要以自己的方式换掉目前的组件。

不知你的感受如何?通过使用小型库,让选择和混合成为可能。届时,当它们被取代时,我们可以使用相近的来交换前端堆栈。库不再是一个“非此即彼”的命题,如果你喜欢Angular的控制反转容器,但不喜欢其数据绑定。你完全可以从NPM中选择你喜欢数据绑定方式。你可以将你的遗留项目递增的迁移到新的技术中,而不是重新写一边。

更重要的是,当不同的问题被不同的库解答时,他们的解决方法可以直接比较。如果框架A用于X很好,用于Y很差,而框架B完全相反的时候,你会很困惑。不过如果库A和B都试着用于X时,它们会以一种直接的方式在独立部件和可衡量方面进行比较。

总结

前端JavaScript技术的流失率是有问题的

人们开始疲惫于改变的步伐,被迫疏远

答案可能是“亲库而远框架”

当然,在2015年我们将看到多少会实际发生呢?Angular的主导地位完全有可能继续保持稳定,如果是这样,Angular需要寻求标准以及稳定近两年的“骚动”。当然也有另一种可能,就是会出现更庞大的事物代替Angular的位置。一个非正式的组合,Flux和Browserify似乎是很明显的候选人

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-254.html

文章标题:2015年JavaScript或“亲库而远框架”

相关文章
javascript是什么意思
avaScript是Netscape开发的一个对象脚本语言,它使用在世界各地数以百万计的网页和服务器应用程序上。 网景的JavaScript是ecma - 262版的标准脚本语言,和公布的标准只有轻微的差异。 与广为流行的错误理解相反,Ja...
2015-11-12
React Native v0.13.3 发布,Facebook开源框架
React is a JavaScript library for building user interfaces. Just the UI: Lots of people use React as the V in MVC. Since...
2015-11-12
21天学通javascript
简介: 本书是Javascript入门教程。Javascript是Web开发中应用最早、发展最成熟、用户最多的脚本语言。其语法简洁,代码可读性在众多脚本语言中最好,它在使用时不用考虑数据类型,是真正意义上的动态语言。本书总分为四篇,共21章...
2015-11-16
JavaScript的组成
一个完整的JavaScript由3个部分组成:核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript 描述了该语言的语法和基本对象 ; DOM 描述了处理网页内容的方法和接口 ; BOM 描...
2015-11-12
Riot.js:不足1KB的MVP客户端框架
Riot.js是一款MVP(模型-视图-呈现)开源客户端框架,其最大的特点就是体积非常小,不足1KB,虽然体积小,但它可以帮助用户构建大规模的Web应用程序。 Riot.js是由Moot公司开发,目前最新版本为v0.9.2,遵循MIT开源许...
2016-03-11
2014年最流行前端开发框架对比评测
如今,各种开发框架层出不穷,各有千秋。哪些是去年较受开发者关注的呢?前不久,云适配根据Github上的流行程度整理了2014年最受欢迎的6个前端开发框架,并进行对比说明,希望帮助有需要的朋友选择合适自己的前端框架。 1. Bootstrap...
2015-11-12
2015年3月国内浏览器市场份额概括,chrome占32.97
本报告数据,来源于百度统计所覆盖的超过150万的站点,而不是baidu.com的流量数据。 注:奇虎360浏览器份额在2010年10月至2011年3月,和2012年9月以来,两次大幅下降,是因为360浏览器去掉了原本的浏览器特征(User...
2015-11-12
JavaScript 事件流、事件处理程序及事件对象总结
JS与HTML之间的交互通过事件实现。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用监听器(或处理程序)来预定事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式,支持页面的行为与页面的外观之间的松散耦合。...
2017-04-05
JavaScript变量的声明
声明变量 变量在脚本中的首次亮相是在其声明中。 在变量首次出现时将会在内存中设置它,因此您稍后可在脚本中引用它。 应在使用变量之前先声明变量。 可以使用 var 关键字实现此目的。 <span id=“mt9” class=“sent...
2015-11-12
7个提高效率的JavaScript调试工具
鐜板湪鐨凧avaScript浜嬪疄涓婂凡鐒舵垚涓轰簡娴佽�岀殑web璇�瑷€锛屽嵆浣垮畠骞朵笉瀹岀編銆傚緢澶氱▼搴忓憳涓嶅枩娆㈢敤JavaScript鍐欎唬鐮侊紝鏄�鍥犱负鍐欏埌鍚庢潵鎬讳細鍑虹幇鍚勭�嶈帿鍚嶅叾濡欑殑bug锛岃€屼笖鍦ㄥ紑...
2015-11-11
回到顶部