为何还要选择angular与angular学前准备

哈哈[一脸尬笑],算了,仍是别学angular了,来跟我学react吧。
修改于2017-11-29 html

为何还要选择angular

我知道这个时间段学习angular在大环境来看彷佛比较尴尬,并不是明智之举,react如日中天,angular2即将发布,angular1.x 已通过了大热期,这是一个后angular时代。也有认真拜读过网上各路大神的文章,对react的确定彷佛更多一点。前端

所以在决定学习angular以前,我有认真的学习过一段时间react。node

react有许多很是优秀的特性,好比上手很容易,须要掌握的新东西并很少,咱们只须要跟着官方文档动手写一些demo就可以对react有一个比较直观的了解,加上有平时许多的项目积累,每每在学习的时候就会不禁自主的想到用react来处理这些问题会如何,这种思考让我更加快速的上手。因为react自身的api并很少,所以经常须要借助原生的js方法,这让熟悉js的我感受更加亲切。固然,由于没有实际的将react运用于正式项目中,致使还有许多优势我暂时体会不到,好比优秀的性能等。react

可是对我我的来讲,react仍是有许多我不太喜欢的特色。angularjs

react将大量html代码,经过jsx写在js文件里,可我是一个重度依赖emmet插件写html的人,html代码跑到js文件里去了,我就没办法快速的敲出html代码了,必须一个字母一个字母的敲,这严重影响了个人开发效率。为了找到可以弥补这块的插件,我几乎放弃atom,由于据说vscode对于jsx的支持程度很高,所以花了一成天的时间研究vscode,找相关的插件,可是无果。所以,若是使用react,就表示个人开发效率会严重受到影响,希望之后可以有强大的插件可以解决这个问题吧!web

和angular相比,react并非一个完整的框架,它仅仅只是一个框架的v层。也就是常说的UI层。也就是说,若是咱们想要掌握好react,除了学习react自己,我还须要学习大量的其余插件来扩充react的功能。这直接致使了学习成本的剧增。chrome

react的组装特性让我没有信心可以掌握好他。大一的时候上计算机组装的某节课,有个十分使人讨厌的老师在课上问我:咱们班有没有同窗已经买过本身的电脑了? 我举手。 老师问:你是怎么买的。 我很直接的回答道: 给了学校教学楼下那个商店老板3000块钱,给他说我想弄一台玩游戏的电脑,而后就让他帮我弄了。被老师当面嘲笑。他认为咱们学计算机的怎么好意思让别人组装电脑!必定会被坑。然而事实证实,在玩了几年大型烧显卡游戏以后,只有个人电脑还可以继续high。一块儿玩的那些同窗的电脑由于各类缘由早就歇菜了。 因此我一直认为组装是一个很是考验水平的事情,并非谁都可以掌握好。编程

由于没有过实际经验,所以在面对一个项目的时候,我也不知道如何用react去构建一个项目才算是一个比较好的方案,这让我很是困惑,不知如何下手。api

总之,诸多的缘由,让我肯定,经过自学,也许我可以将react学会,但必定没能力把它用好。由于我早早就感觉过,若是水平不够,就算用世界上最优秀的框架,照样可以写出屎同样的代码。angular2

从国内的实际环境来讲,一个稳定的东西,才是最值得信赖的,因此目前来讲,至少尚未哪一个团队会低看一个angular水平很高的人。

并且angular还有许多十分优秀的特色。

angular足够稳定成熟,这么多年来有许许多多的人分享了大量的使用经验,咱们能够找到许多优秀的文章。虽然初学angular时对于这种模式的不适应感比较明显,所以形成了学习成本高的假象,可是认真学过来以后,感受其实将angular运用到一个比较好的程度,所花费的时间与精力确定要比react要少不少。对我来讲,感觉最深的是在学自定义服务的时候,发现其实都是返回一个单例,这对于已经可以熟练使用js单例模式的我来讲,就感受十分轻松了。

angular的官方文章足够详细。也就是说,若是咱们的英语足够好,学习angular也会变得很容易。

angular的社区足够成熟,目前已经有很是多成熟的第三方模块,基本上能够解决前端遇到的各类问题。

对我来讲,还有一个重要的因素就是,住在我隔壁的大神强哥,以及办公室坐在我背后老大,对angular的掌握都已经到了炉火纯青的地步,遇到什么难以解决的问题,问一问立马就可以获得解决[一脸贱笑]。

还有最重要的一点那就是:学好了angular,依然可以找到工做。

所以,全面分析了react与angular,并结合自身的实际状况,最终仍是以为,先把angular学比如较靠谱。

学前准备

废话了那么多,这篇文章其实主要是跟你们分享一下angular的学前准备的。下面一一列举。

学习资源:

  1. 英语好的,直接官方文档
    docs.angularjs.cn/

  2. 有秒味vip的能够直接看视频入门学习




  3. angular中文社区
    angularjs.cn/ 有许多有价值的文章。

  4. google 搜索
    遇到的问题百度搜索找到的东西大多数都跟屎同样!因此,google搜索仍是很重要的,它可以带咱们找到许多很是有价值的文章。

  5. Plunker
    plnkr.co/
    专门用angular开发的在线coding工具,虽然界面比较丑,可是上面有许多有价值的demo,并且支持多文件,好比咱们须要写一个路由相关的demo,那么在Plunker上完成是最合适的。

插件

  1. angular-ui
    在Atom上搜索 angularjs,做者名叫作angular-ui
    为angular指令和angular的api提供代码高亮的插件,方便咱们识别。

  2. atom-ternjs
    api补全插件,支持包括ES5, ES6, node.js,angular等

  1. Batarang
    Batarang 是一个chrome插件。是对chrome开发者工具的一个扩展。可用于视察基于angular的web应用程序,方便查看并可视化应用的运行时的特征。

入门学习期间可重点关注的一些知识点:

  1. 整个应用程序的执行顺序
    config -> run -> directive compile -> controller -> directive link

  2. 数据绑定及其原理
    关键词:dirty checking, $diget, $watch, $apply

  3. 做用域
    关键词:$rootScope, $scope

  4. 自定义指令
    关键词:directive, $compile, link

  5. 自定义服务
    关键词:provider, factory, service

  6. 指令间如何交互
    关键词:require, controller, link

  7. 如何有效的分层

  8. 如何进行DOM操做
    关键词:directive link

  9. 路由
    ngRoute

  10. 事件

  11. 如何实现动画
    关键词 ng-if/ng-show/ng-hide ngAnimate

  12. 异步编程
    $q, $http

由于我也刚开始学习不到半个月,所以若是在学习中你们发现更多值得学习的点,欢迎相互交流补充!

给本身准备一些实战项目

我用angular将本身之前工做中作过的东西都抽空重作了一遍,感受学到了不少,对angular的掌握也逐步熟练,所以在这里建议你们初学时可以找一些小项目来作,帮助很大。

好比官方为你们提供的:phonecat

好比我想搞一个帐号密码管理小工具,这是我正在准备抽空给本身作的,若是哪天弄完了能够分享给你们

固然也能够借助angular将本身的我的博客弄成一个单页应用。

相关文章
相关标签/搜索