Web开发者之路(一):序篇

回首我开始学HTML的时候,那已经是2014年9月的事情了。

当时我才刚上大一,就连编程也只能说是一个初心者,算法只会选择排序,编程语言只学过一点点Visual Basic。

当时对网页制作还停留在FrontPage、Dreamweaver 这种工具的印象上。

说来有趣,当时印象中的Web开发跟用Word写点东西并发到QQ空间里没什么本质区别。

直到现在,我在Web开发之路上已经跌跌撞撞走了20个月了。

没有老师教过,完全靠自学,所以走过不少弯路,现在准备整理一下发一个系列的博文分享给大家。

没有完全复现我的学习之路,让大家陪我一起走弯路的意思;也没有给大家讲解Web历史,或者是广泛介绍各种开发框架的意思。而是结合现在的经验脑补出一条学习的路径供参考。


通用学习资源

还有很多私人的网站和博客可以参考。

前端三大件

Web前端三大件是指:HTML、CSS、JavaScript,掌握这三大件,你就能进入工业界拿个前端工程师的名头混碗饭吃了。所谓前端的工作,也就是把数据以人民喜闻乐见的形式呈现而已,其中大有讲究。

HTML

一个Web开发初心者,应当从HTML开始学起。

HTML的入门很简单,现在入门的话,直接从HTML5开始学习就可以了。

基本

  1. 了解HTML5文档的基本结构与嵌套模式。(约10分钟)
  2. 了解基本的几个标签(h*, p, a, code等)。(约30分钟)
  3. 了解人机交互标签(button, input等)。(约30分钟)
  4. 了解引用外部资源(图片、样式、脚本)的方式。(约20分钟)

进阶

  1. 了解HTML文档的树形结构(DOM树)。(约10分钟)
  2. 了解DOM树各种节点(对应各种标签)上的属性与方法。(4小时以上)

深入

  1. 理解HTML背后更深层次的设计范式XML。
  2. 了解其他的数据表示范式,如JSON,YAML等。
  3. 扩散学习各种标记语言,如Markdown等。

HTML中的M是Markup,而Markdown的取名正来自于Markup。

这无非就是对象序列化(Object Serialization)的一种形式。

CSS

HTML仅被考虑成是一种有格式的数据,而浏览器会将其渲染成一个网页,所用样式都是浏览器自己默认定义的(User-Agent类样式)。通常情况下,这极为难看。这个时候Web开发者就需要自定义样式来使得页面变得美观。

基本

  1. 了解CSS的选择器与作用层序。(约1小时)
  2. 了解基本的CSS语法与样式。(约2小时)

进阶

  1. 学习CSS3的各种特性。
  2. 学习CSS最佳实践。
  3. 学习各种CSS库,如Bootstrap等。

深入

  1. 了解最新的CSS标准,甚至那些尚未被浏览器支持的。
  2. 使用CSS预处理器,如Less, SASS等。

这是一门化妆的艺术。

JavaScript

停一下

麻烦停一下

各位停一下,听我说

JS 大法好!

JavaScript作为一门编程语言来说,跟Java其实没有什么关系。如今,JavaScript的应用甚广,甚至能一定程度上进行全栈开发(Full Stack Developing)。

基础

  1. 会用JS REPL交互环境,如浏览器控制台等可以即时执行JS代码的环境。
  2. 学习JavaScript的基本数据格式、语法。
  3. 了解JavaScript的基本对象与其属性、方法。
  4. 会用JavaScript操作DOM树(即document对象)。
  5. 学习浏览器环境中的全局对象,如window, document, localStorage等。

进阶

  1. 学习JavaScript库,如jQuery等。
  2. 学习JavaScript的异步编程模式。
  3. 学习用JavaScript与服务器进行交互(Ajax)。

深入

  1. 学习管理JavaScript代码的依赖方式。
  2. 学习NodeJS进行Web后端开发。

无它,JS大法好!


后端开发

后端开发是一个应用的重中之重,是实现各种强大功能的部分。

什么?前端?那只是给你们人类看的部分而已!

后端程序通常被部署在服务器上,资源通常比客户端多,但一拳难敌四手,在大量的客户端下资源显得很有限。高性能、稳定、易维护是后端要的效果。

基本上,是个编程语言都能开发后端。Web后端无非是一个将请求(Request)转化为响应(Response)的程序而已。

BackEnd:Request→Response

最基本的方式是直接按照静态资源(HTML、CSS、JavaScript)存放的目录响应请求,建立一个双射。

但这样的后端灵活度实在有限,很快有了很多的拓展方案:

PHP

php有着自己的一个处理器,每当客户端请求涉及php文件时,服务器存储的php文件会先经过这个处理器,转化成HTML或者其他的响应格式后再传回给客户端。

Java

Java 企业级 Web 应用开发。基本形式同PHP,但它的语言较之PHP很容易掌握,可维护性也强得多,缺点是不灵活,开发周期长。

NodeJS

NodeJS有着与JavaScript无与伦比的亲和力,在Web 后端开发中大放光芒。但JavaScript本身性能不高,NodeJS凭借异步模型可以有效提高其作为Web服务器的性能,但本质上并没有减少服务器要做的工作。


小结

我目前仅有以上三种后端的开发经验。相比之下,我个人更喜欢 NodeJS 的开发。对于开发来说,它的开发周期不长,闭包带来了良好的可维护性模块生态良好社区也比较成熟。全程用JavaScript开发的柔顺感极佳!另外NodeJS的性能也绝对不差,甚至在很多情况下优于其他的。

根据我个人的经验,本系列后面的会走:

HTML + CSS + JavaScript -> NodeJS -> … 这样的一条路线。

时间: 2024-10-12 19:18:07

Web开发者之路(一):序篇的相关文章

我的web前端之路_入门篇

去年下半年我开始了我的web前端之旅,由于是工作三年后转行,为了尽快入门,我选择了参加培训班.这里我想特别说明一下,网上有很多鄙视培训的同学,但就我个人的培训经历而言,除了最后一阶段会有类似于面试忽悠,简历包装这样的辅导外,就从课程本身来说安排的还是比较合理的,授课老师知识水平和教学水平也都不错,学习氛围也比较好.除了性价比我觉得不是很高外,还有就是培训结束后自己能否保持学习.对于还在上学的同学,我是比较推荐自学.如果你对前端开发有兴趣,不妨自己学起来,现在网上的资源还是挺丰富的,如果学习中有什

Java微信公众平台开发(十四)【番外篇】--微信web开发者工具使用

转自:http://www.cuiyongzhi.com/post/58.html 为帮助开发者更方便.更安全地开发和调试基于微信的网页,微信推出了 web 开发者工具.它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 Mac 上进行开发和调试工作.你可以: 使用自己的微信号来调试微信网页授权 调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出 使用基于 weinre 的移动调试功能 利用集成的 Chrome DevTool

Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memc

Web开发者和设计师必须要知道的 iOS 8 十个变化

概述 简介 iOS 8 上的 Safari 的更新 iPhone 6 和 iPhone 6 Plus 新 Api 支持 Safari 新功能和支持 iOS 8 原生优化 Safari 插件 新的设计 视频增强 iOS 8上的JS Bug 和问题 已经习惯了苹果官方的高冷,这次,苹果依旧没有更新任何与 Safari 或者 iOS 相关的文档,所以下面的所有数据和资料都是基于我自己的测试和 WWDC 上公布的信息. iOS 8 上的 Safari 支持HTML5新APIs: WebGL (3D ca

[转]Web开发者和设计师必须要知道的 iOS 8 十个变化

概述 简介 iOS 8 上的 Safari 的更新 iPhone 6 和 iPhone 6 Plus 新 Api 支持 Safari 新功能和支持 iOS 8 原生优化 Safari 插件 新的设计 视频增强 iOS 8上的JS Bug 和问题 已经习惯了苹果官方的高冷,这次,苹果依旧没有更新任何与 Safari 或者 iOS 相关的文档,所以下面的所有数据和资料都是基于我自己的测试和 WWDC 上公布的信息. iOS 8 上的 Safari 支持HTML5新APIs: WebGL (3D ca

微信web开发者工具调试

微信web开发者工具调试 前几天写了一篇使用fiddler调试微信端页面的,然后博友评论说使用fiddler太麻烦了,推荐使用微信web开发者工具调试微信页面,这两天弄着玩了一下,很强大.这篇文章只是做一个记录,方便自己以后使用的时候看看,不对的地方请大家批评指正.放入官方的微信web开发者工具下载链接以及文档说明https://mp.weixin.qq.com/wiki/10/e5f772f4521da17fa0d7304f68b97d7e.html,参考这个文档,我又给细节化了一些内容.下载

web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史

秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知,不问自晓,古今行事,未之有也 」 我们都知道如今流行的框架:Vue.Js.AngularJs.ReactJs.已经逐渐应用到各个项目和实际应用中,它们都是MVVM数据驱动框架系列的一种. 在了解MVVM之前,我们先回想一下前端发展的历史阶段,做到心中有数,才会更好理解. 这段回想历史.由于网上就可查不少资料,

web前端入坑第四篇:你还在用 jQuery?

web前端入坑第四篇:你还在用 jQuery? 大妈都这么努力,我们有几个人回家还看书的? 先来补齐[web前端入坑系列]前三篇的连接web前端入坑系列:点击标题进入第一篇: web 前端入坑第一篇:web前端到底是什么?有前途吗第二篇: web前端入坑第二篇:web前端到底怎么学?干货资料!第三篇:web前端入坑第三篇 | 一条"不归路" - 学习路线! 再说这个话题之前,我们先来扫盲普及一下 [jquery] 到底是什么以及它火爆将近十年的重要原因. [ 重新认识 - Jquery

web开发者需知的45种Javascript技巧大全

web开发者需知的45种Javascript技巧大全 JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是很多新手踏入编程世界的第一个语言.既可以用来显示浏览器中的简单提示框,也可以通过nodebot或nodruino来控制机器人.能够编写结构清晰.性能高效的JavaScript代码的开发人员,现如今已成了招聘市场最受追捧的人. 在这篇文章里,我将分