首页 » 网页设计 » 网络编程 » Web前端的启蒙教育

Web前端的启蒙教育

host 网络编程 37 次浏览 没有评论

愿你编程半生,归来仍是少年

经常听到的一句话就是:“那谁谁谁是开发…”,解读起来有两种意思:

  1. 一种是牛逼,表达一种敬佩和对成为一个开发者的向往。在中国的大环境中这种意思的表达,经常来自“测试”或UE。
  2. 一种是苦逼,表达一种轻视和对开发人员纯技术思维的不屑。这种声音常常来自于市场或所谓的产品经理们。

今天我们不讨论测试与开发,产品与开发的对立战争,仅仅狭义上聊一聊另一种开发,一种真正的苦逼+牛逼的 开发-Web前端开发。实际上大多数的开发人员对于Web前端开发都有所接触或涉猎。传统意义上的Web前端开发仅仅处理静态HTML+CSS,再由其他 开发人员加入JavaScript。从这个方面来看成就了这个职业的苦逼。而Web前端开发独立是由JQuery的出现所引发的。今几年伴随着前后端分 离,Node.js的出现,更是一发不可收拾,Web前端开发更是成为了一种香饽饽同时也造就了这个职业的牛逼。

Web的开发大概是从 1992年开始的,虽然那时候还不称呼它为Web。而如今上网技术已经发生了很大的变化,但是浏览器背后的技术却没有很大的变化。你或许早已是一个Web 前端开发者,也或许你真在成为Web前端开发者的路上.不打紧…请忘掉这个职业的苦逼,记住它的牛逼,你即将进入一个疯狂的世界,一个即变化又不变的 世界….

Web开发的三剑客

你心里的三剑客是什么?

  • Photoshop + Dreamweaver + Asp?
  • Eclipse + Tomcat + Ant ?
  • Struts+Spring+Hibernate ?

这些都不是,本文要讨论的是:

HTML + CSS + JS :他们才构成了现代Web开发的基石。

  • HTML(Hypertext Markup Language)-超文本标记语言
  • CSS (Cascading Style Sheets)-样式表
  • JS (JavaScript)-这个没有什么别的意思,记住它是一们语言。

用一句话来总结:HTML描述内容和网站的结构,CSS描述网站的样子,而JS处理所有的交互方式


它们三个并不是所有的时候都要一起使用。早期的网站几乎是全是文本文档,或许再加上几张图片,只使用HTML就足够了。第一个浏览器也真是这样,仅仅支持HTML。

你敢相信么这真的是Web发展史上的第一个网页。当时网页的一个目标是为了让更多的文档能够连接起来。如同书的索引或都引用。当时这些连接仅仅用来引用别人的工作。

随 着HTML的普及,Web开发者开始在内容中加入样式,改变颜色、字体、背景、还要排板,所有的这些改变都写在HTML里面。当然了,现在也有不少的人, 也是这样的处理。这会导致一个结果“自己挖坑自己跳”,代码非常的混乱,乱的难易维护..这才有了CSS的出现。CSS大约是1996年左右出现。有了 CSS,Web开发者可以从内容中分离出样式,单独的决定怎么显示内容。HTML和CSS都可以理解为一种标记语言。它们只用于描述Web文档。而 JS(JavaScript)完全是一种编程语言,它允许Web开发者变便内容以及随时改变网站的风格。

伴随着时间推移、技术的革新 HTML、CSS、和JavaScript 已经有了相当的大改变,细心的读者可能已经注意到三剑客的图中HTML下面一个大大的5,它不是HTML的logo,仅仅表明目前HTML已经是第5版。 同时CSS已经是第3版。通常把它们称为HTML5和CSS3,每个版本的发布都会给标记语言增加许多新的特性。但几乎不会移除任何旧的功能。因为在 Web开发中有个一原则:

新的浏览器不能中断地旧网页的支持,网页一旦用Web的标准建立起来就能够永远正常显示和工作。

随着这些语言增加了越来越多的功能/特性,最好的开发实践也会改变,但这不代表过去最好的开发实践会立即失效。作为一个Web开发者需要紧跟着技术潮流,并且能够分辨新旧技术,区分过去的黄金标准和未来的科技趋势。请记住:

Web技术一直在改变,没有一种技术可以一直流行。

说了这么多,但这仅仅只一个开篇。因为见了很多开篇没有开好同学,说是要学Web开发,上来就直接学习写JS,写CSS…

不会走的时候,不要尝试着去跑..

只有一个开篇,肯定不能成为一个Web前端工程师。

有很多人长时间的停留在入门阶段,用3个月工作经验,重复了3年了,然后攒了4年有工龄…可惜,可叹!

有很多人是学习方法不对,也有很多人是开错了书,《21天精通系列..》吭中的有没有?


不管你用什么样的学习方式,分享以下几点,还望借鉴!

[1].培养开发者的思维方式

首先给大家分享一下程序员买瓜的笑话:

老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个”

结 果是什么?程序员被罚跪键盘了…当然这只是开发者的一种逻辑笑话。一个开发者不仅要有较强的逻辑思维能力,用代码说话,用代码交谈,将自己的所想所 思,用程序的方式展式出来;一个开发者更要有工程的观点,才可以称为一个工程师,简单来说比如先做什么后出什么…还要有全局观,能透过一点而看全貌; 一个开发者还要借鉴需多的设计思想,像已经被提出来经常实践用到的设计模式,这些凝聚,沉淀了前辈们思想的结晶;

这个不是一朝一夕能够习的,这个才是一个开发者工作经验所体现的地方…工作经验不是你掌握了多少流行的技术,而是你对这些流行技术背后所蕴藏的思维方式吸收了多少。

[2]. 认识大脑

大 脑在想什么?我们的大脑总是在渴求一些新奇的、刺激点的东西,它一直在搜寻、审视、期望着不寻常的事情发生。我们每天都会遇到很多按部就班的事情,比如走 过的路口,这些事情很普通,对于这样一些例行的事情或者平常的东西,大脑是不会在意的,它的想法很简单,就是不让这些平常的事情大脑真正的工作。那么它所 谓的真正的工作是什么?记住那些会引起神经元会“点火”、情绪爆发,能释放出一些化学物质的东西。我不认为听着音乐看书,听着音乐写代码是可以并行的!

让你的大脑专注的工作并且认为这是个很重要,大脑才会接收这些东西…

[3]. 知道知识学习的曲线

所有在外界看似一帆风顺的程序员,其实他们饱尝过学习编程的痛苦,只是他们都压抑着没有说出来…

1. 自信心与竞争力

上图中最上面的部分展示了自信心与竞争力,只有在自信和能力相匹配时,才能正式地说你可以“Job Ready”。图中将整个过程分为四个阶段:

  • 手把手辅导的蜜月期(The Hand Holding Honeymoon),这个阶段充满了乐趣,面对看似棘手的问题,那些高质量资源的鼎力相助让你轻松取胜。虽然你主要学的是基础语法,但完成的工作会让你很有成就感。
  • 充满迷惑的下滑期(The Cliff of Confusion),在这个阶段你会痛苦地发现,手把手辅导的阶段结束后,事情变得更困难了,实际上你没法独立做任何事。在你试图重新振作时,你面对的首要挑战不仅是要反复调试,而且你还不懂怎么问问题。
  • 绝 望的迷茫期(The Desert of Despair),这个阶段漫长而又孤独。在这个沙漠(充满困惑迷茫就像身处沙漠)中几乎没有路,每个方向都看似正确,但你却总是在绕圈,你极度渴望找到 办法逃出生天。警惕“狂燥中出现的海市蜃楼(Mirages of Mania)”,它们就像是沙漠的迷魂曲,将引诱你误入歧途。
  • 煎 熬的上升期(The Upswing of Awesome),这个阶段里你终于找到了一条路走出沙漠,并且总体清楚了如何创建应用程序。但你的代码仍然很封闭,到处都是漏洞,就像纸糊的房子一样摇 摇欲坠。你的网站可以运行并且你已经掌握了几种有效的模式,这些都让你的信心大增,而且你的朋友们都在称赞你的网站很酷,但实际上你知道底层连自己都不忍 直视。你根本不知道该如何写出“可发布”的成熟代码。但可以找到一个工作,借助平台,迅速发光吧..

2.资源密集度

上 图中间的部分展示了你在学习过程中所能接触到的资源,一开始你会感觉有遍地的资源在引导你上手编程,不幸的是,后期可供使用的资源太少了。每一个从初学者 成长到当前状态的人都能体会这其中的差距之大,相比刚开始入手,当你试图完全依靠自己创建工程时,能利用的资源就少得多。

进入阶段三后需要了解的知识猛然递减,恶化了上面的问题,这也是为什么我把这个阶段称之为“绝望的迷茫期”。一旦你度过了这个阶段,并且开始了解你需要搜索的东西,你就会找到很多资源,还能使用一些技术工具,如专业博客和视频讲座。矛盾的部分仅仅在于明白该问什么问题。

3. 知识面的广度

上图中最下面的部分展示了每个阶段中必须学习的新知识的总体广度。

刚 开始学编程时,你需要理解的东西很少。不论你的目标是什么,不论你用什么编程语言,也不论你之前是做什么的,每个人要做的都是搞清楚什么是for循环,如 何创建条件语句,以及其他一些编程语法的基础结构。总体来看也没多少基础概念,因此阶段一所需要的知识面广度很窄。一旦你学完了基础部分,就需要去了解一 些更复杂的东西,比如理解错误以及何时使用那些你已经会用的代码,此时你会发现需要学习的额外知识瞬间多了很多。这个时候情况变得不同了,因为一个明确的 问题不一定有一个绝对正确的答案……事情开始变得棘手。

当你进入第三个阶段后,所需的知识面广度就更宽了。你需要理解该使用哪些工具,该学 习什么编程语言;学习相关的计算机科学基础,如何写模块化的代码;学习面向对象的编程,学习好的代码风格,以及学会寻求帮助(以上仅列举几个例子)。每一 次在Google 或 Hacker News上进行搜索都让你大开眼界,找到的东西多得让你喘不过气,都是些你不知道但感觉自己应该了解的知识。

你不知道自己不懂哪些东西。

只 有当你终于摸到了一些门道并结束这个“荒漠之旅”以后,所需的知识面广度才会再次缩小。那时,你已经选择了某种技术,并了解了它在这个行业的生态系统中所 处的地位。你最终学会了那些你以前不懂的东西(可以说相当了解),也知道如何解决问题。随着你深入学习和事业逐渐起步,你将越来越专注于自己领域的技术。

对这个过程的了解有助于消除你对学习的恐惧,但去经历又是另外一回事。无论如何迈出正确的第一步非常关键!

[4]. 刻意练习

杰出不是一种天赋,而是一种技巧;这种技巧,你我都可以掌握。

义乌电脑维修,技术咨询QQ:404099828
       查看详情

义乌奥美电商,转载链接。

本文永久链接: http://host.ywbb.com/4352.html

发表评论

Go