2019年转行Web前端开发,一定要看的技术指南和趋势(附学习资料

1.基础前端开发者

1.1 HTML & CSS

 

最基础的知识:

语义化的HTML元素

基础的CSS语法

Flexbox & Grid

CSS变量

浏览器开发者工具

1.2 响应式布局

在这里我还是要推荐下我自己建的web前端开发学习群:731669587,群里都是学web前端开发的,如果你正在学习前端 ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有前端软件开发相关的),包括我自己整理的一份2019最新的前端进阶资料和高级开发教程,欢迎进阶中和进想深入前端的小伙伴。

 

响应式设计将不再是网页的加分项, 而是必须的

设置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、JavaScript、Bootstrap、CSS、Mybatis、HTML、jQuery的学习教程分享,希望可以帮助到大家。

 

提供典型应用案例,剖析JSP/Servret技术与Struts 2技术Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例4个综合案例,可以作为案头必备的查询手册 一线开发人员全力打造,分享技术盛宴! 重点内容及特色 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》介绍了Web开发中客户端技术的基础知识,包括JavaScript、CSS、AJAX等,这些技术都是Web应用中常用的客户端技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握的技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、SpeingHIbernate框架的基础知识高级技术,如Sruts 2中的*、类型转换、国际化标签等,HIbe rna{e的会话、0/R映射事务管理等,Spring中的数据库技术与AOP等。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》特别介绍了Struts 2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 已经出版的同类图书相比,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》讲解由浅入深,涵盖更多内容,列举了大量典型实例具有超强的实用性,另外,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》各篇独立,适合读者全面学习或对部分内容重点学习。 读者对象 有Java基础,想进一步学习SSH框架整合开发的人员 了解SSH整合开发,想进一步提高开发技术的人员 正在使用SSH整合技术开发项目,想查阅资料的人员 大中专院校的学生老师,以及Java培训班的学员讲师 需要一本案头必备查询手册的程序员 光盘内容 6小时多媒体体视频讲解 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》所涉及的源代码 布衣暖,菜根香,好书滋味长!清华大学出版社长期以来一直秉承为读者多出好书的宗旨,多来为读者奉献了大量脍炙人口的精品图书。尤其在计算机图书出版领域更是形成了鲜明特色,所出版的各类计算机图书受到了广大读者的好评。本次出版的“原创经典,程序员典藏”系列图书是清华大学出版社的重点精品计算机图书,旨在帮助读者全面学习各类程序设计语言开发工具,提高开发水平。同时也为广大程序员提供良好的技术参考,以便作为案头必备的查询手册。 内容提要 -------------------------------------------------------------------------------- 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring(Ioc容器、装配Java Bean、JdbcHibernate模板、事务管理、Spring AOP等)以及 Hibernate(会话、映射、标准查询API、HQL、事务管理、锁等)。除此之外,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》还提供了两个完整的实例来讲解开发SSH的详细步骤方法。通过对这两个实例的学习,读者可以对SSH开发模式有更透彻地理解认识。SSH是目前最流行的Java Web开发技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》适合广大从事Java Web开发工作的技术人员、对SSH开发感兴趣的人员以及大专院校学生阅读,尤其是具有一定的Web开发经验的技术人员。 目录 -------------------------------------------------------------------------------- 第1篇 web开发基础篇 第1章 搭建开发环境 1.1 本书使用的软件框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 Tomcat6的下载与安装 1.7 在MyEclipse中配置。Tomcat 1.8 在EclipseIDEforJavaEEDevelopers中配置Tomcat 1.9 小结 第2章 JavaWeb应用开发基础 2.1 Web技术的发展 2.2 JavaWeb技术 2.2.1 Java.Welb程序的基本组成 2.2.2 Java,Web程序的目录结构 2.2.3 JavaWeb程序的配置文件 2.3 MVC模式与MvC框架 2.3.1 JSP模型1JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3 MVC模式概述 2.3.4 常用的MvC框架 2.4 小结 第3章 Web开发中的客户端技术 3.1 常用的JavaScriptIDE简介 3.1.1 在MyEclipse中使用JavaScript 3.1.2 在EclipseIDEforJavaEE中使用JavaScript 3.1.3 在NetBeans中使用JavaScript 3.1.4 其他的JavaScriptIDE 3.2.1 avaScdpt语法基础 3.2.1 实例:编写第一个JavaScript程序:Greet 3.2.2 变量 3.2.3 原始类型 3.2.4 类型转换 3.2.5 函数与函数调用 3.2.6 类对象 3.3 JavaScript高级技术 3.3.1 DOM技术概述 3.3.2 获得HTML元素的3种方法 3.3.3 实例:图像自动切换 3.3.4 正则表达式 3.3.5 实例:表格排序 3.4 CSS基础 3.4.1 CSS的基本语法 3.4.2 在Style属性中定义样式 3.4.3 在HTML中定义样式 3.4.4 在外部文件中定义样式 3.4.5 样式的继承 3.5 AJAX.基础 3.5.1 AJAX概述 3.5.2 实例:使用XMLHttpRequest获得Web资源 3.5.3 实例:使用XMLHttpRequest跨域访问Web资源 3.5.4 实例:AJAX的3种交换数据方法 3.6 小结 第4章 Servlet技术 4.1 Servlet的Helloworld程序 4.1.1 实例:在My Eclipse中编写Helloworld程序 4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 4.2.5 实例:用service方法处理客户端请求 4.2.6 实例:初始化(init)销毁(destroy)Servlet 4.2.7 实例:使用PrintWriter输出响应消息 4.2.8 实例:用ServletOutputStream显示图像 4.2.9 实例:使用RequestDispatcher包含Web资源 4.2.10 实例:使用RequestDispatcher转发Web资源 4.3 HttpServletResponse类的其他功能 4.3.1 产生状态响应码 4.3.2 设置响应消息头 4.3.3 实例:验证响应头设置情况 4.4 使用:HttpServletRequest获得请求消息 4.4.1 获取请求行消息 4.4.2 获取网络连接消息 4.4.3 获取请求头消息 4.5 处理Cookie 4.5.1 什么是Cookie 4.5.2 Cookie类中的方法 4.5.3 实例:用Cookie读写客户端信息 4.5.4 实例:用Cookie读写复杂数据 4.6 处理Session 4.6.1 什么是Session 4.6.2 HttpSession接口中的方法 4.6.3 HttpServletRequest接口中的Session方法 4.6.4 实例:通过Cookie跟踪Session 4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送接收中文信息 4.7.5 实例:在请求消息头响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第一个JSP程序 5.1.1 实例:编写显示服务器当前时间的JSP程序 5.1.2 调试JSP程序 5.1.3 改变JSP的访问路径扩展名 5.1.4 手动发布JSP程序 5.2 JSP的运行原理 5.2.1 Tomcat如何处理JSP页 5.2.2 分析由JSP生成的Servlet代码 5.3 JSP基本语法 5.3.1 JSP表达式 5.3.2 在JSP中嵌入Java代码 5.3.3.JSP声明 5.3.4.JSP表达式语言(EL) 5.3.5 实例:用EL函数替换HTML中的特殊字符 5.3.6 JSP页面中的注释 5.4 JSP指令 5.4.1 JSP指令简介 5.4.2 page页面指令 5.4.3 include加入指令 5.5.JSP的9个内置对象 5.5.1 out输出对象 5.5.2 pageContext封装对象 5.5.3 其他的JSP内置对象 5.6 JSP标签 5.6.1 插入标签 5.6.2 转发标签 5.6.3 传参标签 5.6.4 创建:Bean标签 5.6.5 设置属性值标签 5.6.6 获取属性值标签 5.7 JSP的标准标签库(JSTL) 5.7.1 如何使用JSTL 5.7.2 条件标签 5.7.3 循环标签 5.8 小结 第6章 用ServletJSP实现注册登录系统 第2篇 Struts 2篇 第7章 编写Struts 2的第一个程序 第8章 Struts 2进阶 第9章 Struts 2的* 第10章 Struts 2的类型转换 第11章 Struts 2的输入校验 第12章 文件的上传下载 第13章 国际化 第14章 Struts 2的标签库 第15章 Struts 2对AJAX的支持 第16章 用Struts 2实现注册登录系统 第3篇 Hibernate篇 第17章 Hibernate的Helloworld程序 第18章 配置Hibernate 第19章 Hibernate的会话与O/R映射 第20章 Hibernate的查询与更新技术 第21章 Hibernate的高级技术 第4篇 Spring篇 第22章 Spring的Helloworld程序 第23章 反向控制(Ioc)与装配JavaBean 第24章 Spring中的数据库技术 第25章 Spring的其他高级技术 第5篇 综合实例篇 第26章 Struts 2与Hibernate、Spring的整合 第27章 网络硬盘 第28章 论坛系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值