前端程序员的自我修养

读史使人明智。——弗兰西斯.培根


学习历史,

可以帮助我们看清现在的决定,

并为以后的发展做好准备。


前端技术,是界面技术的一种应用。

字符界面 DOS

图形界面 GUI

浏览器界面 Browser


前端项目,属于B/S类型的平台体系结构

文件/服务器 F/S

客户端/服务器 C/S

浏览器/服务器 B/S


JavaScript,是最流行的客户端技术

其他的还有,Java-Applet Flash ActiveX Silverlight


Web前端,是网页技术一个发展阶段,

在这个过程中,服务器端经历了,CGI,Web框架,MVC,

客户端经历了,HTML,CSS,AJAX,前端MVC,前端组件化。


JavaScript也推广到了服务器端,

服务器端脚本 Node.js

数据库 MongoDB

WebApp React-Native

桌面应用 nw.js


总结

前端技术是一个处理人机交互的关键环节,

各种技术都汇聚于此,

随着云计算需要,以及移动设备的出现,

前端已经变的越来越丰富多彩,

大有平分天下的趋势。


前端技术栈

语言只是一种工具,对一个聪明的程序员来说,用没用过什么工具主要是由他原来的工作需要决定,并不能代表他全部的技能。

——请不要说自己是XX程序员


前端技术浩如烟海,

单纯JavaScript语言来说,也有数不清的细节,

为了有一个整体的印象,我们分类来看。


精一行,必先通十行。


浏览器环境 IE6~8 IE9+ Chrome Firefox Safari Opera Edge

HTTP协议 URI Cache Session Cookie Request Response

HTML W3C HTML4.01 HTML5 DOM 语义化

CSS CSS1~3 选择器 盒模型 Flex 媒体检测 响应式 渲染引擎

JavaScript EcmaScript356 Lexical-scope prototype-chain AJAX js引擎

编辑器 Emacs Vim WebStorm Atom Sublime-Text

发布部署 合并 压缩 单元测试 Node.js Grunt Gulp Yeoman Phantom JSLint

框架类库 jQuery Zepto UnderScore Backbone Knockout React AngularJS

模块管理 CommonJS Webpack

UI框架 BootStrap SemanticUI jQueryUI Foundation

推送技术 WebSocket 轮询 长连接

跨域技术 iframe JSONP CORS

数据可视化 D3 Echarts HighCharts Canvas

异步编程 Promise $.Deferred Generator

CSS预处理器 LESS SASS Stylus

客户端模板 Handlebars Haml Jade Mustache

相关语言 CoffeeScript TypeScript Dart WebAssembly

WebApp/PC React-native ionic


以上提到的这些,几乎成了前端程序员的标配了

所以,我们需要很努力,才不会被淘汰。


JavaScript是一个动态弱类型的,原型继承的,函数式的编程语言,

掌握它并不简单,也为了与服务器端程序员愉快的沟通,

我们还要再学习一些编程语言


C/Rust/Go

C#/Java

Scheme/Haskell

PHP/Python/Ruby

Prolog/Erlang


包括命令式,面向对象,函数式,逻辑式,

各种典型的编程泛型。


少争论多读书

思而不学则殆。——孔子

我们之所以迷惑,不是因为缺少思考,

而是缺少学习。


前端的书籍越来越容易找到了,

除了EmcaScript语言规范之外,还有一些有趣的读物。


JavaScript权威指南

JavaScript高级程序设计

JavaScript语言精粹

JavaScript模式

JavaScript DOM高级程序设计

高性能JavaScript编程

JavaScript异步编程

JavaScript忍者的秘密


基于MVC的JavaScript Web富应用开发

jQuery权威指南

犀利开发jQuery内核详解与实践

jQuery Mobile权威指南

用AngularJS开发下一代Web应用

Node.js开发指南

高性能网站建设指南

响应式Web设计


快速软件开发

测试驱动开发

重构

人月神话

敏捷软件开发:原则,模式与实践

面向模式的软件架构

计算机程序的构造与解释


读书是一个愉快的过程。


参考

「浅论CS和BS体系结构」

「Web开发的发展史」

「Web的发展史」

「前端工程——基础篇」

「Overview: JavaScript, Flash, Java, Silverlight and ActiveX」

「jQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述」

「Web开发技术的演变」

「请不要说自己是Java程序员」

「WebFrontEndStack」

「服务器内容推送技术」