最近在尝试完成我的新目标,那就是写一本叫做《前端工程师该玩的50个demo》的书。从历史的角度来看,前端随着互联网的发展和浏览器的战争,在动荡中向前发展,至今,在我眼中的前端领域技术纷繁复杂,有一些“不纯净”。而抛开历史的包袱,我认为这恰恰是一个极客可以大展拳脚的领域。前端领域的扩张让我们看到了很多前所未见的曙光。在“广度”和“深度”中间,本书是一个广度的探索。本书适用于新入行且有一定编程基础的前端同学,也适用于在前端领域迷茫的同学。我相信,如果将书中的大多数demo理解了,那么关于“作为一个前端,我可以做什么”这个颇具哲学意味的问题,你一定会有自己的答案,也会有自己的选择。

在浏览正式内容之前,我们先明确这几件事情:

1.本书中的大多数代码不依赖任何框架(少数除外,比如WebGL,我在后面会说明原因),我们用原生JavaScript来构建世界。

2.我假定本书的所有读者,都有简单的HTML,CSS,JavaScript编写能力,可以做出普通的页面,并且能够为页面赋予一些功能。

2.本书中的大多数demo灵感选自我在工作中遇到的需求,因为我的目标是让你提升你的编码能力的同时也提高你的业务水平。

3.本书中关于每个章节(领域)的几个系列的demo,都会由浅入深,由简单到复杂。如果你理解不了这个系列最后一个demo,那说明我设置的难度跨度太大,你可以通过邮件告诉我:ericinisa@163.com,我会尽快修改。如果你理解不了第一个demo,我只能说,哥们,你的编程基础太差了,去w3school上面把初级教程看一遍吧。

4.每个章节的第一章,我都会介绍一些这部分技术的历史和我对这种技术的理解。每次实战之前,我都会讲好需求,并将结果展示给你。我强烈建议你根据自己对需求的理解,尝试自己实现这个效果,然后再和我的demo做对比。但如果你没思路,那也欢迎你跟着demo一步一步写出最终结果。

那么,我们进入正题,经过了多年的战争,分化,淘汰,今天的前端,到底可以玩些什么?

总体来说,前端的领域大概分为“界面”和“逻辑”两大部分,我以个人的经验,在下面列举出了一些对于新手来说值得玩的领域(但并不是对前端的权威分类),我想下面的一系列名次中,有一部分你可能第一次见到,有一部分你可能已经懂了。下面的东西比较多,本书不会全部涉及(以后会上传目录),如果你关于某一个领域感兴趣而书中没写到。那么你可以去社区,搜索引擎,书中寻找答案,也可以和我交流。

界面展示部分,我们可以玩

  • canvas和wbgGL
  • 下一代交互的推动者CSS3
  • 界面的性能优化
  • 兼容性是一个永不过时的话题
  • 关于响应式布局的反思

而关于逻辑,自然是JavaScript的天下。

  • 用ES6的新特性来写代码
  • 封装自己的框架
  • 做一些自己的插件来解决需求并复用
  • JavaScript引擎探秘
  • 如何写出高性能的代码
  • 前端安全
  • 尝试node
  • hybrid混合应用开发
  • 主流框架的拆解——拆轮子才能理解轮子
  • 用良好的风格来组织代码——模块化,命名空间
  • 怎样在项目中使用各种设计模式
  • JavaScript关于智能硬件的尝试
  • 理解不同框架的思想差异——模块化,组件化,MVC,MVVM
  • 用JavaScript开发原生应用的尝试——React Native
  • SEO——提高自己在搜索结果中的排名
  • webstorage
  • 开发一款自己的浏览器插件