2019简易Web开发指南-半路出家老菜鸟
程序员文章站
2022-04-21 19:59:39
2019年即将到来,各位同学2018年辛苦了。 不管大家2018年过的怎么样,2019年还是要继续加油的! 在此我整理了个人认为在2019仍是或者将成为主流的技术与大家分享,包括前...
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 designsass
structured css variables nested css mixins & functions inheritancejavascript
data types, functions, conditionals, loops, operators dom操作,events json fetch api es6+ (arrow function, promise, async / await, destructuring...)html / css 框架
html/css将被逐渐弱化,但是掌握一两个流行框架还是有必要的。
bootstrap materialize bulmajs框架
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,rediscms(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,但是当所有人都开始谈论它的时候,为了好奇心也要学一下。。