[转帖]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 ...
随机推荐
- java.lang.NoSuchMethodError: No static method getFont
最近在Android Studio升级3.0后,在AlertDialog弹窗时报出了如下问题: java.lang.NoSuchMethodError: No static method getFon ...
- JAVA框架 Spring 注解注入
一.首先需要引入jar包:spring-aop-4.2.4.RELEASE.jar.(在spring解压包libs内). 二.如果注解方式注入依赖的对象,需要引用新的约束. 内的:xsd-config ...
- C++之静态的变量和静态函数
到目前为止,我们设计的类中所有的成员变量和成员函数都是属于对象的,如我们在前面定义的book类,利用book类声明两个对象Alice和Harry,这两个对象均拥有各自的price和title成员变量, ...
- [Lydsy1805月赛]对称数 BZOJ5361
分析: 这个题,还是蛮有趣的.考虑,如果l,r区间内的所有数出现奇数次,那么[l-1,r]的抑或和等于所得抑或和. 之后怎么维护呢,主席树维护区间抑或和,记得将每个点附上一个ull级别的随机数,之后抑 ...
- 大数据入门第二十三天——SparkSQL(二)结合hive
一.SparkSQL结合hive 1.首先通过官网查看与hive匹配的版本 这里可以看到是1.2.1 2.与hive结合 spark可以通过读取hive的元数据来兼容hive,读取hive的表数据,然 ...
- 20155227辜彦霖《基于Cortex-M4的UCOSIII的应用》课程设计个人报告
20155227辜彦霖<基于Cortex-M4的UCOSIII的应用>课程设计个人报告 一.个人贡献 参与课设题目讨论及完成全过程: 资料收集: 负责主要代码调试: 撰写小组结题报告. 二 ...
- 20155308『网络对抗技术』Exp5 MSF基础应用
20155308『网络对抗技术』Exp5 MSF基础应用 一.原理与实践说明 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实 ...
- ubuntu 12.04 桌面版关闭图形界面
对于12.04的ubuntu桌面系统,如果想在开机的时候直接进入字符界面,那可以: 编辑文件 /etc/init/lightdm.conf,在第12行附近,原句“ and runlevel [!06] ...
- 修改 input[type="radio"] 和 input[type="checkbox"] 的默认样式
表单中,经常会使用到单选按钮和复选框,但是,input[type="radio"] 和 input[type="checkbox"] 的默认样式在不同的浏览器或 ...
- linux下如何解除被占用的端口号
在本例中,假设8080端口被占用. 1.查看8080端口是否被占用: netstat -anp | grep 8080输出结果:tcp 0 0 :::8080 ...