Web前端 web的学习之路2
2019 年 Web 开发技术指南和趋势
2019/01/23 · JavaScript · 趋势
以下内容来自我特别喜欢的一个Youtube频道: Traversy Media
这是一个2019年你成为前端,后端或全栈开发者的进阶指南:
- 你不需要学习所有的技术成为一个web开发者
- 这个指南只是通过简单分类列出了技术选项
- 我将从我的经验和参考中给出建议
- 首选我们会介绍通用的知识, 最后介绍2019年的Web的一些趋势
1. 基础前端开发者
1.1 HTML & CSS
最基础的知识:
- 语义化的HTML元素
- 基础的CSS语法
- Flexbox & Grid
- CSS变量
- 浏览器开发者工具
1.2 响应式布局
响应式设计将不再是网页的加分项, 而是必须的
- 设置viewport
- 非固定宽度
- 媒体查询
- 使用
rem
替代px
- 移动优先,柱状显示
1.3 基础的部署工作
学会如何部署一个静态网站到服务器
- 注册一个域名(NameCheap, Google Domains)
- 管理共享主机或虚拟机(Inmotion, Hostgator, Bluehost)
- FTP, SFTP 文件上传(Filezilla, Cyberduck)
- 静态页面托管(Netlify, Github Pages)
1.4 SASS预处理器
虽然不是必须的, 但是推荐去学, 基础知识的掌握很简单
- 结构化CSS
- 变量
- 嵌套样式表
- Minxins & 函数
- 继承
1.5 原生JavaScript语法
不使用任何框架和库区学习原生的JS语法
- 数据类型, 函数, 条件判断, 循环, 凑总府
- DOM操作和事件
- JSON
- Fetch
- ES6+(箭头函数, Promise, async/await, 解构)
1.6 满足了基本的前端开发者的条件
- 构建静态站点
- 构建UI布局(拿到设计图能够使用HTML/CSS还原)
- 添加一些交互功能
- 部署和维护网站
现在能找到最低水平的Web开发工作, 但是这是远远不够的….
2. 一个成熟的前端开发者
2.1 HTML & CSS框架
HTML/CSS框架目前没有以前那么有意义, 但是我还是介意你选择一个学习(这里作者想隐射的应该是, 在jquery时代, HTML/CSS框架的学习是必须的).
- BootStrap
- Materialize
- Bulma
2.2 Git和其他工作流工具
Git绝对是每一个Web开发者必须掌握的工具, 这里也有一些其他的工作流工具的建议.,
- 基础的命令行(
touch
,cd
,mkdir
什么的总得会, 命令行在下面的工具中都会用到) - Git(版本控制)
- NPM 或 Yarn(包管理)
- Webpack 或者 Parcel(打包工具)
- Gulp 或者 Grunt(任务管理和构建工具)
- 编辑器插件(ESLint, Prettier, Live Server等)
2.3 前端框架
学习一个前端框架在目前前端开发中是必须的.
- 在大公司开发中非常流行
- 更多的交互 & 有趣的UI组件
- 组件化 & 模块化前端代码
- 对团队有利
2.4 状态管理
对于使用框架的大型前端项目, 你也许需要使用状态管理工具去管理你的应用级的状态
- Redux(Context API)
- Apollo(GraphQL Client)
- Vuex
- NgRx
2.5 满足一个成熟的前端开发者条件
- 构建一个优秀的前端应用
- 流畅和稳定的前端工作流
- 多人开发 & 熟练使用Git
- 请求后端API & 前端数据响应
满足以上条件, 你能够顺利的找到一个前端的工作并干得很出色~
3 全栈开发工程师
3.1 学习一门后端语言
成为一个全栈工程师或软件工程师, 你将需要学习一个服务端语言和相关技术
- Node.js
- Python
- PHP
- C#
- Go
学习的顺序:
- 基础的后端语言语法
- 数据结构和工作流
- 包管理
- HTTP/路由
3.2 服务端框架
不要重复造轮子, 学习一门框架去构建更好和更快的应用
- Node.js(Express, Koa, Adonis)
- Python(Django, Flask)
- PHP(Laravel, Symfony)
- C# (ASP.NET)
3.3 数据库
绝大多数觉得应用都会使用到数据库, 这里有一些选择:
- 关系型数据库(MySQL, PostgreSQL, MS SQL)
- 非关系型数据库 (MongoDB, Counchbase)
- 云服务 (Firebase, AWS, Azure, DocumentDB)
- 轻量级(SQLite, NeDB, Redis)
3.4 服务端渲染
像React, Vue 和 Angular等端架都可以进行服务端渲染
- Next.js(React)
- Nuxt(Vue)
- Angular Universal(Angular)
3.5 内容管理系统
内容管理系统允许快速开发并为您的客户提供更新内容的能力. 在你需要快速开发网站的时候, 它们是很适合的. 特别是对于自由开发者.
- 基于PHP的 (WordPress, Drupal)
- 基于JS的 (Ghost, Keystone)
- 基于Python的 (Mezzazine)
- 基于.Net的 (Piranha, Orchard CMS)
3.6 DevOps 和部署
学习语言和框架是一回事, 但是安装环境, 测试和部署有事另外一回事
- 部署 (Linux, SSH, Git, Nginx, Apache)
- 平台 (Digital Ocean, AWS, Heroku, Azure)
- 可视化(Docker, Vagrant)
- 测试 (单元测试, 集成测试, 函数式测试, 系统测试)
3.7 满足全栈工程师的条件
- 设置全栈的开发环境和工作流
- 构建后端服务API和微服务
- 数据库操作
- 能够独立开发应用(前端和服务端)
- 部署到云端(SSH, Git, Servers等等)
4. 2019技术趋势和其他
4.1原生应用开发
- React Native(使用React构建原生应用)
- NativeScirpt(Angular, Typescript, JavaScript)
- Ionic (HTML/CSS/JS 实现混合应用)
- Flutter (使用Dart语言开发原生应用的移动端SDK)
- Xamarin (使用C#开发的移动端应用)
4.2 使用Electron开发桌面应用
Electron是一个使用JavaScript构建跨平台的桌面应用工具.
- 使用到了 Chromium内核和Node.js
- 兼容Windows, Mac & Linux
- 崩溃报告, 调试和性能分析
4.3 GraphQL & Apollo
GraphQl是对于API的一种革命性新方法,查询语言比标准RESET严格得多
- 只查询你想要的东西
- 前端和后端可以合作得更为顺利
- 查询语句非常简单且很像JSON语句
- Apollo是一个发送请求到GraphQL的客户端
- 使用的是Gatsby静态站点生成器
4.4 TypeScript
TypeScript是一个JavaScript的超集, 它添加了静态类型等很多特性.
- 变量, 函数等类型
- 类
- 其他ES6的特性
- 在Angular中被使用到, 同时也可以在React和Vue中被使用
4.5 无服务架构
无需创建和管理自己的服务器
- 使用第三服务执行“无服务器功能”
- 例如 AWS, Netify & Firebase
- 在Gatsby静态站点生成器很流行
- 无服务框架
4.6 AI和机器学习
AI和机器学习已经被广泛应用在所有的程序和技术中, 甚至包括web开发中.
- 机器学习可以允许Web应用程序随时间进行调整
- 虽然AI还有很长的路要走, 但是我们会看到它会更多的用在web中
- 虽然目前绝大多数都是Python写的, 但也有Tensorflow.js和Brain.js这些JS的库
4.7 区块链技术
现在许多公司使用区块链技术进行数字交易, 因为它们更安全和有效率.
- Solidity(一门智能合约的编程语言)
- Mist(以太坊开发的浏览器, 用于发送交易和合约)
- 比特币API(可以构建app和整和比特币的区块链开发)
4.8 PWA
Progressive Web Apps是一个web app但是在功能和样式上给用户带来原生应用使用体验的一项技术.
- 响应式
- 在离线环境下也能够提供服务
- 类似App的交互
- HTTPS
- 可靠, 迅速, 更好
4.9 Web Assembly
类似汇编的二进制格式的代码可以被浏览器执行. 可以使用类似C/c++和Rust等高级语言进行编写.
- 比JavaScript执行效率快
- 更安全 – 强制的浏览器同源和安全协议
- 开放 & 可调试
Web前端 web的学习之路2的更多相关文章
- web前端全栈学习之路
web前端全栈学习之路 --- 陆续更新中 一.HTML相关 1.HTML常用标签:http://www.cnblogs.com/wyb666/p/8733699.html 2.HTML5基础: 3. ...
- 新手学习WEB前端流程以及学习中常见的误区
学习web前端编程技术肯定是以就业拿到高薪工作为主要目的的,可是高薪不会那么轻易拿到,这是一个最简单的道理.没有付出就没有回报,在整个学习web前端编程技术的过程中,你需要付出时间.精力.金钱.废话不 ...
- web前端基础知识学习网站推介
内容:一.基础知识及学习资料1. HTML入门学习:http://www.w3school.com.cn/html/index.aspHTML5 入门学习:http://www.w3school.co ...
- Web前端 web的学习之路
零基础学习web前端的顺序 ( 转载自:https://blog.csdn.net/weixin_41780944/article/details/83751632) 怎么开始学习两条路:自学或者找培 ...
- 我的web前端整理和学习
知识点收藏:(边看.边记录.边写) 开直播学习:虎牙 待办事理>> 练习自我表达(把文章做成视频).技术学习总结(博客与公众号).跳出舒适圈. 前端知识体系:https://www.cnb ...
- web前端的超神之路
前端超神之路 前端基础知识 HTML :用户实现页面的工具 CSS:用于美化界面的工具 javascript:用于操作html元素和css样式,让你的页面效果更美观 前端进阶知识 jQuery:用于简 ...
- 浅谈web前端就业的学习路线
初级前端 主要学习三个部分:HTML,CSS,JavaScript 一.html + css部分: 这部分特别简单,到网上搜资料,书籍视频非常多.css中盒子模型,流动,block,inline,层叠 ...
- 初学者:浅谈web前端就业的学习路线
初级前端 主要学习三个部分:HTML,CSS,JavaScript 一.html + css部分: 这部分特别简单,到网上搜资料,书籍视频非常多.css中盒子模型,流动,block,inline,层叠 ...
- Web前端新手经典学习路线
做前端开发八九年的时间,到2015年的时候,Web前端因为HTML5技术的高速发展,成为IT行业中最受欢迎和未来需求人才发展最好的职业,各个行业都想转行做前端开发,包括一些在校的学生,土木工程,一些不 ...
- 小白到web前端工程师需要学习哪些知识?
随着web3.0时代,那么web前端开发技术人才越来越吃香,而且web前端领域划分越来越细,对技术的需求越来越高,想学习web前端的人也是越来越多.那么,如何学习web前端知识?从哪开始?转型成为we ...
随机推荐
- 系统的讲解 - PHP 浮点数高精度运算
目录 概述 浮点数运算的"锅" 任意精度数学函数 常用数值处理方案 扩展 小结 概述 记录下,工作中遇到的坑 ... 关于 PHP 浮点数运算,特别是金融行业.电子商务订单管理.数 ...
- [asp.net core 源码分析] 01 - Session
1.Session文档介绍 毋庸置疑学习.Net core最好的方法之一就是学习微软.Net core的官方文档:https://docs.microsoft.com/zh-cn/aspnet/cor ...
- 搭建基于Docker社区版的Kubernetes本地集群
Kubernetes的本地集群搭建是一件颇费苦心的活,网上有各种参考资源,由于版本和容器的不断发展,搭建的方式也是各不相同,这里基于Docker CE的18.09.0版本,在Mac OS.Win10下 ...
- Nginx的“远方表哥”—Tengine
本文收录在Linux运维企业架构实战系列 今天想起当初研究nginx反向代理负载均衡时,nginx自身的upstream后端配置用着非常不舒服: 当时使用的淘宝基于nginx二次开发的Tengine, ...
- 内部类、异常以及 LeetCode 每日一题
1 内部类 内部类的作用: 内部类提供了更好的封装,可以把内部类隐藏于外部类之内,不允许同一个包中的其他类访问该类.(例如给“牛”这个类组合一个“牛腿”,则可以把牛腿定义成内部类,因为牛腿脱离了牛没有 ...
- x宝23大洋包邮的老式大朝华MP3播放器简单评测
(纯兴趣测评,非广告) 最近逛X宝,看到了这个古董级MP3播放器居然还在售,于是脑抽+情怀泛滥买了一个. 然后呢,从遥远的深圳跨越好几千公里邮过来了这个玩意: 那节南孚5号电池是我自己的,是为了对比一 ...
- SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确
最近在查询SQL时遇到SQL文件错误,可能是文件数据已损坏.解决过程分享给大家. 问题描述 消息 824,级别 24,状态 2,第 1 行SQL Server 检测到基于一致性的逻辑 I/O 错误 p ...
- BASE64编码原理分析脚本实现及逆向案例
在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理你又了解多少?今天小编带大家了解一下Base64编码原理分析脚本实现及逆向案例的相关内容. 01编码由来 数 ...
- LinkedBlockingQueue源码解析
上一篇博客,我们介绍了ArrayBlockQueue,知道了它是基于数组实现的有界阻塞队列,既然有基于数组实现的,那么一定有基于链表实现的队列了,没错,当然有,这就是我们今天的主角:LinkedBlo ...
- TabTopAutoTextSizeLayout【自定义文字字号区域(动态选项卡数据且可滑动)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 自定义顶部选项卡布局LinearLayout类,实现可滑动效果.[实际情况中建议使用RecyclerView] 对<TabTo ...