乐趣区

2019 简易Web开发指南

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,但是当所有人都开始谈论它的时候,为了好奇心也要学一下。。

退出移动版