OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

2015年的JavaScript:Angular之类的框架将被库取代


分享到
分类 JS学习   关键字 JavaScript   发布 ourjs  1417925329660
注意 转载须保留原文链接,译文链接,作者译者等信息。  
注* 本文表达了关于Angular和Ember这样的整体性解决方案将被更小更专注的library(库)这样的观点(有节选),之前的一些文章也表达过相似的论述:我们不需要JavaScript框架 , Angular.JS出了什么问题?

JavaScript的世界似乎进入了流失率危机。新框架新技术以不可持续的速度推出并流行。但我认为,社会将适应并采取新的响应式做法。我相信开发者将从整体性框架(frameworks),如Angular.js和Ember等转移到一系列小的,组合的,专业性库(library)上面,以减轻流失的风险,并允许解决方案,在不同的关注领域分别竞争。

让我来解释一下。

搅动


如果你之前并没有关注过<ng-community> angular社区,在2014年十月ng-europe (欧洲)会议上,Angular开发团队透露了一些有关Angular 2.0 显著更新的路线图。其中较具争议的是,NG2.0将无法与现有的Angular代码向后兼容。事实上,一些关键的概念将被搁置。Angular的开发将必须掌握一个全新的框架。

可以理解,这打乱了很多人。不管正确与否,开发者在在过去两年中如此努力获取的知识,方法,经验和代码,现在已经被随意弃用。更糟的是,更换甚至没有任何过渡。新开项目将在十二个月之后2015年末发布,反对者觉得,Angular2.0可能“生下来就死”了。

老实说,无论Angular团队在2.0版本做什么改动,我都会放弃它。强调离线功能,并放弃支持旧的浏览器让新的东西听起来很棒。

但这是一个烂摊子。语法看起来像狗屎,这与1.3之间的巨大差距意味着我们真正的就业机会,其中活了好多年的项目都打退堂鼓了。我不能告诉我的老板,我们需要建立一些不可思议的,重新规划的一些代码而已,没有新特性,直到18个月改写完代码以后。

by jbarkett, Reddit 上发表的评论

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

正如许多人在这里看到的,时尚的Web开发,现在成为了一个笑话;我很高兴我找到了自己的方式。一旦你被迫对付这种没有意义的东西,你要么尖叫着跑出去或者去疯狂迷恋。它甚至没有碎片组合。我已经失去了对MV框架们的兴趣,我将框架定义为“使用Foo,Bar和Baz”的组合,其中Foo是你从来没有听说过的,有3%的使用份额的事件库;Bar是你从来没有听说过的,有2%份额的模板库;和Baz你从来没有听说过有1%的人使用的数据绑定库,使得组合有用?......我不知道,也许,作者在五分钟之后,就会切换到一个新的库。

我不明白。我不明白为什么有人认为这是一个好主意。我见过用这个东西所产生的代码,它真是令人难以置信的可怕,因为没有人有时间去了解,它在三十秒时间内所改变的任何东西。

by othermike, reddit  

Othermike的问题,在我看来,真的是客户流失的问题。有太多该死的JavaScript框架,它们改变的太他妈的快了。

两年前,JavaScript在灯火辉煌中庆祝自己的复兴,得益于一个迈向更现代化,更规范的浏览器(例如不是Internet Explorer)和Node.js的发展,作为一种用于前端构建的工具技术。新技术以不同方式出现了。只有12个月的时间似乎就成为事实,现代网络将以Backbone.js(也许用Marionette)为主,与Grunt作为任务驱动,Require.js和Handlebars作为基础模板。然而,半年过去了,这些技术都已经很明显被取代,就像blogosphere那样成为过去式 - 现在,到处是关于关于Angular,Gulp和Browserify。现在这个堆栈似乎也值得商榷了。

注* JavaScript构建(编绎)系统大比拼:Grunt vs. Gulp vs. NPM 


这种变化的步伐能否持续?

我很坦率地承认对我不断接触到新技术不知所措。

by noname123 HackerNews


创新是伟大的,但这种流失率似乎过高。作为开发者花费大量时间,去掌握新的框架和技术时,也不能保证他们的长寿。程序员要编写 - 他们想建立的东西。但当我们花大部分的时间在学习新框架上,如何才能做出点东西呢?当我们在摸索与不熟悉的高新技术,我们怎样才能像个工匠呢?

并非没有希望


现实是严俊的。但人是聪明的,开发者足智多谋,写出新的应用程序的基本要求是不让任何人放弃它。那么,我们该怎么办?

我觉得有我们可以总结出三个主要的经验教训:

  • 对新技术持谨慎怀疑的态度。将那些很酷的新的Github上项目投入生产要小心一些。等到到普及了再开始采纳。
  • 不要太相信大企业做的东西。谷歌做这种事情已经不是第一次了。他们的利益并不总是和你的一样。
  • 宁愿使用专用库来代替整体框架。当你选择了一个框架,你就做了了一个大的,长的承诺期限。您需要了解该框架内部各种运作方式和奇怪的行为。而你所掌握的东西。如果该框架被证明是错误时,你会失去很多。但是,如果你从库中选择,你能负担得起,库是可以随意更换的,你有足够的时间。

Libraries(库) > frameworks(框架)?


在Angular的争议发生后,Reddit上的另一篇文章问:JavaScript开发人员应该迁移到什么技术

下面是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 (视图库)

原文地址: 点此
社区评论 ( Beta版 )
  • #0 己删除 1418395256975
  • #1 龙区订 1419166979459

    vue不错。

  • #2 张马夸 1419313301657

    很有道理,顶一个

  • #3 shrek 1421454590576

    看上去很有道理,但是事情还是要继续做下去,只要选择了一个,坚持下去并改进就行了。

  • #4 卞百右 1421587866553

    mark

  • #5 邯郸第一美女 1421634870435

    一直以来都有这个顾虑,本来下定决心要开始去了解ag,结果就看到了这篇文章…………

  • #6 林甩土 1421647434824

    总是有一大堆需要学习的东西

  • #7 严观汇 1424949779733

    精力有限。大部分的框架意义不大。花很多时间学习。最后根本用不了。。还不如好好做Js本身应该做的。回归简单。Angular我看了。他的大部分你直接用Js就可以实现。我为什么要花那么多的时间来干不一定能提高效率的东西〉而且常用的功能就那些。基本自己可以写一个库用来自己用完全足够了。。

  • #8 吴瓦圣 1426164893187

    把时间用来学框架,我不如多看几遍犀牛书和蝴蝶书

  • #9 己删除 1428991432498
  • #10 柳无元 1429242623864

    @严观汇 #7

    同意!

  • #11 乐生勿 1441696487717

    @严观汇 #7

    angular本来就是给团队协同使用的,个人的话有更轻量级的框架可以选择

  • #12 啪啪侠 1443615059078

    学习是要成本,但是不学习就根本不知道,什么样的项目该用什么的技术架构;如果只是码脚本jq就够了,但如果是要成为一个架构师,必须通晓n种框架,n种技术架构,明白其优劣 ,再择优,择其最合适的给予构建;

  • #13 涂迈丘 1443716881803

    @吴瓦圣 #8

    赞同

  • #14 罗巾讽 1445843248271

    jasfasf asdfasf

    引用

  • #15 常斗乌 1445843284037

    好像作用和自己写,差不多

  • #16 丁交约 1449121477266

    这文章是用软件翻译的吗?呵——呵——

  • #17 何匹优 1451975679356

    @嚴觀匯 #7

    你寫過庫嗎?

  • #18 贺伞亿 1459436873465

    432435

  • #19 赛夏绝 1459922405526

    功能需求永远在增加,当框架不足以支撑现有的需求就会被淘汰,这是必然,或者说框架总会被淘汰,只是时间问题;但框架的设计理念永远有参考的价值,对于新手来说绝对有必要接触各种框架,了解各种设计思路的利弊,从而在搭建自己的项目时选择最优方案。把项目比作大厦,语言本身就是大厦的基础,框架就是大厦的骨架,是完整且稳固的。‘不要框架,只需要一堆库就可以了’,作者的意思是有足够多的砖头,只要不停地往上堆积,就能达到想要的高度?我只能呵呵了

  • #20 洪伟瓜 1502262656717

    hehe

OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. NodeJS就是癌症[2011]
  2. NodeJS会是昙花一现吗?
  3. 提高NodeJS网站的安全性:Web服务器防黑客攻击技巧
  4. JavaScript的设计缺陷?浮点运算:0.1 + 0.2 != 0.3
  5. Debug调试Node.JS:我们是如何定位内存泄漏和无限循环的
  6. 什么是IndexedDB:Web离线数据库入门简介及基础教程
  7. 基于HTML5和JavaScript实现的Winamp MP3播放器
  8. Node.JS编码规范指南教程:教你优雅地写JavaScript代码
  9. 一些你不知道的JavaScript Console调试命令
  10. HTML5的TCP和UDP Web Socket API草案定稿
  11. AirJD-简单好用的免费建站工具

 相关阅读 - JS学习
  1. 什么是IndexedDB:Web离线数据库入门简介及基础教程
  2. Node.JS编码规范指南教程:教你优雅地写JavaScript代码
  3. JavaScript的设计缺陷?浮点运算:0.1 + 0.2 != 0.3
  4. Debug调试Node.JS:我们是如何定位内存泄漏和无限循环的
  5. 理解JavaScript中的事件路由冒泡过程及委托代理机制
  6. 用JavaScript制作HTML5动画基础
  7. Node.js 包教不包会
  8. 使用Javascript开发OS X应用程序
  9. Node程序中的设计模式
  10. 制作canvas游戏

 关键字 - JavaScript
  1. 如何用CSS将select/option文本居中或居右对齐
  2. 你用什么代码编辑工具开发JavaScript?
  3. JavaScript条形码生成和扫码识别(Barcode scan)开源库
  4. 40行JavaScript代码实现的3D旋转魔方动画效果
  5. 使用Javascript将相对路径地址转换为绝对路径
  6. 给checkbox选择框设置不选中时的值
  7. 用原生HTML5控件实现输入框自动提示(下拉列表补全)功能
  8. JavaScript中怪异的地方
  9. 在JavaScript中创建命名空间的几种写法
  10. JavaScript中的继承,构造函数以及new关键字的作用

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号