[转帖]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
响应式布局(Responsive Layout)
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将被逐渐弱化,但是掌握一两个流行框架还是有必要的。
JS框架
状态管理(state management)
后端渲染(server side rendering)
开发工具
移动端
有了前端的知识后,我们还可以开发手机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实在太流行了
后端框架
数据库
- 关系型:MySQL,PostgreSQL,MS SQL
- NoSQL:MongoDB,Couchbase
- 云存储:Firebase,AWS,Azure Cosmos DB
- 轻量级:SQLite,NeDB,Redis
CMS(Content Management System)
如果不想自己开发网站的时候,用个现成的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,但是当所有人都开始谈论它的时候,为了好奇心也要学一下。。
[转帖]2019 简易Web开发指南的更多相关文章
- Django web 开发指南 no such table:
在学习django web开发指南时,发布新博客点击save后会有error提示:no such table balabalabala... 百度了一下说重新运行manage.py syncdb 就可 ...
- Django Web开发指南笔记
Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('12 ...
- [转帖]cocos2d-x 3.0rc开发指南:Windows下Android环境搭建
原文请看:http://blog.csdn.net/linzhengqun/article/details/21663341 鲜红字体请注意:文中红色字体乃是本文博主阳光下的蒲公英添加.红色字体部分造 ...
- HTML5移动Web开发指南-学习笔记(一)
一,浏览器引擎 浏览器的内核引擎,基本上是四分天下: Trident: IE 以Trident 作为内核引擎; Gecko: Firefox 是基于 Gecko 开发; WebKit: Safa ...
- django1.8.3搭建博客——2 django web 开发指南阅读笔记
一. django框架 1 .http封装web服务的整个过程.由请求(request)和响应(response)两部分组成. 请求的内容为URL (指向文档的路径). 响应主要为正文(body ...
- 测试同学动手搭个简易web开发项目
技术栈 node.js, vue.js, axios, python, django, orm, restful api, djangorestframework, mysql, nginx, jen ...
- 快速使用node.js进行web开发
首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这 ...
- IC卡读卡器web开发,支持IE,Chrome,Firefox,Safari,Opera等主流浏览 器
IC卡读卡器在web端的应用越来越多,但是早期发布的ocx技术只支持IE浏览器,使用受到了很多的限制.IC卡读卡器云服务的推 出,彻底解决了以上的局限,使得IC卡读卡器不仅可以应用在IE浏览器上,还可 ...
- 2019 Vue开发指南:你都需要学点啥?
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://dzone.com/articles/vue-development-in-2019 ...
随机推荐
- 网络嗅探与欺骗(FTP部分)——P201421410029
第三部分 FTP协议分析 1. 两个同学一组,A和B. 2.A同学架设FTP服务器,并设置用户名和密码,例如wbx /wbx 3.B同学在机器中安装Wireshark,并将其打开:之后用用户名和密码登 ...
- Linux核心-hc课堂笔记
windows系统:分区 linux系统:树形结构 <鸟哥的私房菜>关于分区.linux命令.基础篇 服务器篇 关于文件夹: /boot 引导分区,操作系统启动时要到该目录下 ...
- Zookeeper入门(三)之工作流
一旦ZooKeeper集合启动,它将等待客户端连接.客户端将连接到ZooKeeper集合中的一个节点.它可以是leader或follower节点.一旦客户端被连接,节点将向特定客户端分配会话ID并向该 ...
- 【转】H.264 SVC
视频厂商POLYCOM,VIDYO和RADVISION等都推出H.264 SVC技术.针对H.264 SVC技术做个介绍. CISCO和POLYCOM都提供了免版税的H.264 SVC的版本. 其中o ...
- C++之new和delete操作符
在C语言中的动态分配和释放内存的函数是malloc calloc 和 free , 而在C++中要用 new new[] delete delete[] 来申请动态空间和释放空间. 注意:的是new. ...
- C. Permutation Cycle
For a permutation P[1... N] of integers from 1 to N, function f is defined as follows: Let g(i) be t ...
- python获得命令行参数的方法
#encoding=utf8 import sys reload(sys) sys.setdefaultencoding("utf8") print "参数名: &quo ...
- Hadoop体系结构杂谈
hadoop体系结构杂谈 今天跟一个朋友在讨论hadoop体系架构,从当下流行的Hadoop+HDFS+MapReduce+Hbase+Pig+Hive+Spark+Storm开始一直讲到HDFS的底 ...
- [Oracle]坏块处理:确认坏块的对象
如果已经知道 FILE#,BLOCK#,则 可以通过如下查询来看: SQL> SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME FROM DBA_EXTE ...
- Scala学习(二)练习
Scala控制结构和函数&练习 1. 一个数字如果为正数,则它的signum为1:如果是负数,则signum为-1:如果为0,则signum为0:编写一个函数来计算这个值 简单逻辑判断: 测试 ...