今天之因此会发这么一篇博客,主要是由于最近横空出世的微信小程序,固然本人也本身玩了一下小程序,发现的确是挺好玩的。但我今天要讲的并非关于小程序的,而是想透过这个谈谈在这个技术不断发展的时代,咱们做为一个IT从业者,一个前端开发该如何抉择,又该何去何从。前端
从事前端这个行业一年了,算是一个刚刚入门的小菜鸟吧,如今的我天天的工做重心就是公司前端组件模块的开发及管理。如今还依稀记得当初刚刚参加工做的时候,啥都不用考虑,由于那个时候的本身真的啥都不会,虽然如今会的东西也不多,可是最起码是能够去作选择了。而当你能够对技术,对框架作选择的时候,你就会去想,该选择哪种技术当成之后本身发展的重心。而伴随着新技术不断的更新换代,对于技术的选择也开始朦胧起来。对于菜鸟,朦胧的多是选择哪种技术,对于大神,朦胧的则多是该开发怎样一种新技术或者新框架才能被这个时代所接受。vue
就拿我本身前端技能get点来讲,学习了angular,jQuery,vue,react,node等等这些目前比较流行的前端框架,感觉仍是JavaScript最重要。但有时候真的没有必要为了学习框架而学习框架,JavaScript做为开发这些前端框架的基础语言(固然这里node也依赖C/C++),只有将它的基础打扎实了,那些框架学习起来会是如鱼得水。固然这样前推的话,咱们也能够推到计算机原始语言,以及算法,但目前因为本人如今水平比较通常,我就不在这具体详谈计算机原始语言和算法了,今天主要讲的是前端这一块。node
回到框架,相信确定有不少小伙伴和我是同样的,对于新技术总会有一种选择困难症。不少时候,选择框架是为了公司项目开发的需求,可是当公司开发的项目须要用到一个新技术的时候你再去学习,那个时候就有点晚了,所以咱们要时刻关注着新技术。但关注新技术的同时千万不要忘了本身的本心,不要忘了本身最初的起点,千万不能本末倒置。react
前段时间入手了一本MacPro,固然这只是为了更好的办公,更好的学习前端,或者说是为了拓展本身的技能范围。一段段黑客帝国里面出现的那种代码,一个个软件的安装,一切的一切都是为了让我更好的进行开发,进行学习(固然我最想学好的就是node了😝)。web
OK,稍微有点偏题了,回归主题!首先这里我先带你们过一遍Web开发模式演变历史。
阶段一:简单明快的早期时代
可称之为 Web 1.0 时代,很是适合创业型小项目,不分先后端,常常 3-5 人搞定全部开发。页面由 JSP、PHP 等工程师在服务端生成,浏览器负责展示。基本上是服务端给什么浏览器就展示什么,展示的控制在 Web Server 层。
阶段二:后端为主的 MVC 时代
代码可维护性获得明显好转,MVC 是个很是好的协做模式,从架构层面让开发者懂得什么代码应该写在什么地方。为了让 View 层更简单干脆,还能够选择 Velocity、Freemaker 等模板,使得模板里写不了 Java 代码。看起来是功能变弱了,但正是这种限制使得先后端分工更清晰。
阶段三:Ajax 带来的 SPA 时代
这种模式下,先后端的分工很是清晰,先后端的关键协做点是 Ajax 接口。看起来是如此美妙,但回过头来看看的话,这与 JSP 时代区别不大。复杂度从服务端的 JSP 里移到了浏览器的 JavaScript,浏览器端变得很复杂。
阶段四:前端为主的 MV* 时代
这种开发模式下,优势也很明显:
一、先后端职责很清晰。前端工做在浏览器端,后端工做在服务端。清晰的分工,可让开发并行,测试数据的模拟不难,前端能够本地开发。后端则能够专一于业务逻辑的处理,输出 RESTful 等接口。
二、前端开发的复杂度可控。前端代码很重,但合理的分层,让前端代码能各司其职。这一块蛮有意思的,简单如模板特性的选择,就有不少不少讲究。并不是越强大越好,限制什么,留下哪些自由,代码应该如何组织,全部这一切设计,得花一本的厚度去说明。
三、部署相对独立,产品体验能够快速改进。
阶段五:Node 带来的全栈时代
算法
在这种研发模式下,先后端的职责很清晰。对前端来讲,两个 UI 层各司其职:编程
一、Front-end UI layer 处理浏览器层的展示逻辑。经过 CSS 渲染样式,经过 JavaScript 添加交互功能,HTML 的生成也能够放在这层,具体看应用场景。
二、Back-end UI layer 处理路由、模板、数据获取、cookie 等。经过路由,前端终于能够自主把控 URL Design,这样不管是单页面应用仍是多页面应用,前端均可以自由调控。后端也终于能够摆脱对展示的强关注,转而能够专心于业务逻辑层的开发。
三、经过 Node,Web Server 层也是 JavaScript 代码,这意味着部分代码可先后复用,须要 SEO 的场景能够在服务端同步渲染,因为异步请求太多致使的性能问题也能够经过服务端来缓解。前一种模式的不足,经过这种模式几乎都能完美解决掉。
四、与 JSP 模式相比,全栈模式看起来是一种回归,也的确是一种向原始开发模式的回归,不过是一种螺旋上升式的回归。小程序
总结:上诉的全部web开发模式的演变,都证实了一点事实,那就是web前端愈来愈被外界重视。从给前端带来第一次质的飞跃的Ajax,再到现在可能给其带来第二次质变的NODE。种种现象代表,前端这条路仍是值得走下去的。至于怎么走,咱们仍是应该将基础打扎实,别去为了那些新技术,新框架老让本身如此迷茫。咱们应该抱着一种干净纯粹的心去学习它,去拥有它,咱们该作的真的只是为了避免让本身的人生后悔,让本身开开心心的过每一天。后端
这里,我将分享一些前端须要get到的一些技能点。微信小程序
1.Web前端基础语言,Html/Css/JavaScript等。
JavaScript相关书籍以下:
1)《JavaScript高级程序设计》
2)《JavaScript高级程序设计》
3)《JavaScript DOM编程艺术》
4)《JavaScript设计模式》
5)《JavaScript框架设计》
2.Web前端进阶新技术
1)jQuery、zepto
2)angular(《angular权威指南》)
3)node(《深刻浅出Node.js》)
4)vue
5)react
以上我说起到的书籍都是本人阅读过的书籍,很不错,强力推荐一波。相信你们看我分享出来须要掌握的技能点也能够看出来,我最重视的仍是JavaScript。
好了,本博客到这也该结束了。如若哪里说的不对头,还请小伙伴们轻喷,固然也欢迎指出,我是灰常乐意接受的,共同进步共同窗习确定是好事的。最后祝各位小伙伴们前程似锦,天天都开开心心的(*^__^*) !