2019 年即将到来,各位同学 2018 年辛苦了。不管大家 2018 年过的怎么样,2019 年还是要继续加油的!在此我整理了个人认为在 2019 仍是或者将成为主流的技术与大家分享,包括前端、后端和全栈相关。
工具、软件
欲先攻其事必先利其器,用好工具是做好开发的基础。
编辑器/IDE:VSCode,Sublime Text,Atom
浏览器:Chrome,Firefox
设计/原型:Adobe XD,Photoshop,Sketch,Figma
命令行工具:Git Bash,WSL,iTerm2,Hyper
版本管理:Git
前端
前端我觉得是每个做 web 开发的同学都应该掌握的,就算是做后端开发的,基本的前端知识也是必不可少的。
HTML & CSS
HTML5
CSS3
Flexbox (简易教程),CSS Grid (简易教程)
CSS Variables (Custom Properties)
响应式布局(Responsive Layout)
设置 Viewport
Media query
rem-based layout
Mobile First Design
Sass
Structured CSS
Variables
Nested CSS
Mixins & Functions
Inheritance
Javascript
Data Types, functions, conditionals, loops, operators
DOM 操作,Events
JSON
Fetch API
ES6+ (arrow function, promise, async / await, destructuring…)
HTML / CSS 框架
html/css 将被逐渐弱化,但是掌握一两个流行框架还是有必要的。
Bootstrap
Materialize
Bulma
JS 框架
React:目前最流行
Vue:简单易用,越来越多人用
Angular:曾经很流行,现在有点衰退
状态管理(state management)
Redux
VueX
NgRx
Apollo (GraphQL Client)
后端渲染(server side rendering)
Next.js (React)
Nuxt.js (Vue)
Angular Universal (Angular)
开发工具
依赖管理:NPM,Yarn
应用打包:Webpack,Parcel
任务管理:Gulp,Grunt
编辑器扩展:ESLint,Live Server,Prettier
移动端
有了前端的知识后,我们还可以开发手机 app。
React Native:使用 react 开发原生应用
NativeScript:使用 Angular/TypeScript/Javascript 开发原生应用
Ionic:使用 html/css/js 开发混合应用
Flutter:使用 Dart 语言开发原生应用
Xamarin:使用 C# 开发原生应用
桌面端
甚至桌面 app!
Electron:使用 chromium 和 node.js,兼容 windows,mac,linux
后端
语言
前端同学如果想成为全栈,学一门后端语言是必不可少。
Node.Js:就算不做全栈,nodejs 也将成为前端的必备技能
Python:如果除了 web 开发想往人工智能、机器学习、数据分析方向扩展的同学,python 更合适
C#:个人很喜欢的语言,非常优雅和高效
Go:越来越流行的语言,有很强大的标准库,减轻对第三方的依赖
PHP:虽然很多人觉得 shitty,但是不得不承认太多网站都是 php 写的,wordpress 实在太流行了
后端框架
Node.js:Express,Koa,Adonis
Python:Django,Flask
C#:ASP.NET
PHP:Laravel,Symfony
数据库
关系型:MySQL,PostgreSQL,MS SQL
NoSQL:MongoDB,Couchbase
云存储:Firebase,AWS,Azure Cosmos DB
轻量级:SQLite,NeDB,Redis
CMS(Content Management System)
如果不想自己开发网站的时候,用个现成的 CMS 系统也是不错的。
PHP:WordPress,Drupal
JS:Ghost,KeyStone
Python:Mezzazine
.NET:Piranha,Orchard CMS
运维基础
基本的运维知识也是需要的,不然自己写个网站搞不上线多着急。
注册域名:Namecheap,Google Domains
FTP,SFTP 文件上传:Filezilla,Cyberduck
部署:Linux,SSH,Git,web 服务器(Nginx,Apache)
虚拟化:Docker,Vagrant
静态托管服务:Netlify,Github Pages
托管共享主机 & VPS:Inmotion,Hostgator, Bluehost
云平台:Digital Ocean,AWS,Heroku,Azure
其他
GraphQL & Apollo
GraphQL 简而言之是一种 API 查询语言(QL = query language),提供了一种革命性的 API 实现方式。GraphQL 是一种规范(specification)而不是实现(implementation)。而 Apollo 是 GraphQL 最火的实现。更多请参考:Awesome GraphQL。
TypeScript
TypeScript 诞生已经有好几年了,近两年变得很火,很多框架和工具都是 typescript 写的,比如 vscode,angular,ant-design,更多请参考 github。对于想开发框架或者库的同学 typescript 很值得学,但是优先精通 es6+babel 的开发方式。
PWA (Progressive Web Apps)
用户体验是个永恒的话题,大家都想使用体验如原生应用的网站,所以 PWA 是个必然的趋势。更多请参考 github awesome PWA
WebAssembly
或许 WebAssembly 可能不会取代 javascript,但是当所有人都开始谈论它的时候,为了好奇心也要学一下。。