Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

学习Angular从入门到放弃 #16

Open
jiayisheji opened this issue Feb 3, 2018 · 1 comment
Open

学习Angular从入门到放弃 #16

jiayisheji opened this issue Feb 3, 2018 · 1 comment
Labels
Angular angular相关实践

Comments

@jiayisheji
Copy link
Owner

学习Angular从入门到放弃

从刚接触Angular到现在,自己也是一路摸滚打爬过来的,虽不是什么高手,单对于如何学习Angular,还是有一些个人的见解,拿出来与大家共勉。

学习Angular从入门到放弃,大致有6个过程或者说是6个层次:

第一步 了解

对于刚接触Angular的新手来说,第一步无非是打基础,也是最重要的一步,决定你要不要继续。(Angular学习门槛略高,不是有意吓你的)

在学习之前你要弄明白以下事情:

  • TypeScript的特性和语法。假如你对 TypeScript 还不熟悉的话,推荐以下途径快速上手:
  • Angular是什么?Angular与AngularJs的区别是什么?
  • Angular版本差异?如何选择合适的版本?
  • Angular适用场景?Angular不适用的场景?
  • Angular的基本语法。
    • Angular的特性:
      • 双向数据绑定
      • 跨平台
      • 开发渐进式应用
      • 统一平台SSR支持
      • 代码拆分 按需加载
      • 提高生产率 Angular CLI
      • 各种IDE支持 推荐VS Code
      • 测试支持
      • 拥抱W3C标准(动画、组件,表单验证等)
      • 等等
    • Angular的八个主要构造块:
      • 模块
      • 组件
      • 模板
      • 元数据
      • 数据绑定
      • 指令
      • 服务
      • 依赖注入
  • RxJs是什么?RxJs的基本使用,不一样编程方式
  • zone.js是什么?给Angular带来什么
  • flex-layout是什么?你在使用flex吗
  • ngRx又是个什么鬼,为什么没有听过
  • 等等

其实上面的内容,大部分Angular的文档都有介绍。基本了解Angular后,我们可以参考文档的快速上手,写一个Hello world程序。

PS:

  1. Angular重度依赖和推荐使用TypeScript,到今天为止,前端各大框架,后端NodeJs框架都提供了对TypeScript支持,剩下就自己想想吧。
  2. Rx也是Angular重度依赖和推荐使用,Rx有多个语言版本,学习它核心思想和概念,可以无缝切换其他语言。

第二步 入门

你也许会想,前端和UI界面打交道最多,需要有一整套完善的UI组件库,那Angular有吗?别担心,Github目前有很多UI组件库,官网的资源集合, 其中我所熟知UI组件有:

另外Github以ngx-开头或者(ng2,ng4等)的都是Angular相关的资源模块,可以挑选自己喜欢的,进行使用吧。

繁荣的生态,才是一个框架的活力所在。当你对 Angular 已经了解的差不多了,并且按耐不住跃跃欲试了。这个时候,我们不妨用 Angular 的第三方UI组件和其他依赖模块做些好玩的事情:

  • 写一个TodoList (我学新的框架第一件事,就是写它,它是麻雀虽小五脏俱全,看起来简单,涉及很多知识点,也可以快速熟悉一个框架的简单应用)
  • 搭建一个个人博客网站 (使用表单验证系统完成登陆注册,搭配路由模块,Http模块等,做第一个的完整的SPA应用程序)
  • 搭建一个完整的后台管理系统 (后台管理系统涉及内容比较多,Ant Design Pro 是个不错高仿对象,它是目前预览版使用react写的,可以配合阿里的 NG-ZORRO 使用 (虽然功能没有react版强大,但是够用了))
  • 配合Universal,使用Angular SSR改写个人博客网站
  • 调用一些网站的API做PWA开发
  • 等等

Angular并不是只能做以上的事情,几乎其他框架能做的事情Angular都能做,而且有些情况下能做的更好。

第三步 掌握

当前,学习Js框架不能只会简单的用,这个时候,我们需要回头深入了解下Angular核心API用法。说白了,就是好好看 Angular 官网的 API文档。看文档是必备技能。

第四步 熟练

  • 多实践。不管是用核心模块还是外部模块,尝试用Angular解决问题替换以前用其他框架写过的代码。
  • 读源码。这里说的读源码不是去读Angular核心代码。这个时候,挑一些UI框架的源码来读,选择一些特定的功能,这种模块代码通常都不多,职责分明,你也可以通过学习源码,更好组织你代码结构,涨不少姿势。比如:
    • CDK(Angular Material2 里面封装的一系列好用的功能,NG-ZORRO也依赖它,你也可以用它造属于自己的轮子)
    • 对比我举例的几种UI框架某一个功能的实现,去对比他们实现的差别。(可以看到一些API实践应用)
    • 等等

第五步 玩转

坚持第四步。 在使用Angular时,发现没有合适的模块选择或者选择的模块功能不尽人意,这个时候你可以尝试创建一个模块或者修改你认为不爽的模块,并且开源自己模块或者给该模块的 Github 上提 PR

第六步 放弃

  • 多实践。成功三步:坚持,不要脸,坚持不要脸。写代码也是坚持多实践。
  • 读Angular核心代码,设计模式,面向对象,数据结构与算法,框架设计等在Angular的实际应用。提高必备
  • 多关注下 Github 上牛人

写在最后

学习其他技术,前端框架也是类似步骤,了解 -> 入门 -> 掌握 -> 熟练 -> 玩转 -> 未知 ?放弃 : 精通

是放弃还是精通,只是取决你自己有多坚持,成功没有捷径。

少年加油!

@jiayisheji jiayisheji added the Angular angular相关实践 label Jul 19, 2018
@zsq2010
Copy link

zsq2010 commented Aug 11, 2019

issues主到那一步了?花多久时间?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Angular angular相关实践
Projects
None yet
Development

No branches or pull requests

2 participants