决定学习Web开发应该如何做

事先声明

博主花生也仅仅是自学了2年左右的Web开发,才疏学浅,如文中有不当的地方欢迎各位看官路过指正。

由于是分享自己的学习经历和经验,所以很难完全站在客观的角度来说清这一切,花生会努力的保证本文的客观性,但是可能或多或少都会有一下主观观念在里面,因此,文中的大多意见仅供参考,切勿盲目全信。

关于博主

博 主自称花生,写本文时(2016-5)为一个普通的大二计算机专业学生,自学Web开发2年左右。在学校中创立Web开发协会,专注分享与开源。多次独立 完成过协会官网搭建,曾用JS写过爬虫Pxer被使用上万余次。主攻方向为Web开发全栈,主修语言为JavaScript与PHP。

正文

关于Web开发的方向

Web开发下面也分为很多个小方向,每一个方向的工作区别也是十分大的,按照功能,大致可以分为2个部分

  1. 前端
  2. 后台

因为后台几乎是无法脱离前端工作的,所以不管你选择哪一个方向的开发,几乎都是要从前端开始学起的。学习前端的过程中,你会对整个的体系有一个大致的了解或猜想,然后就可以选择继续深挖前端或是转战其他方向。

所以,从简单的前端开始学吧。

从前端开始

最简单的前端部分大概就是网页了,利用HTML+CSS可以快速而低成本的搭建一个前端页面,对比其他方式如APP界面、桌面程序要方便的多。

因为较为简单,因此哪怕你在未来转战其他Web开发方向,它也不会耽误你太长时间。

学习方法部分可以参考应该如何开始学习写代码,里面比较详细的说明了初学者在不同时期应该如何学习。

一般来说,全职学习大概1个周就可以把HTML+CSS搞定(注意不要去学JS),能够大致写出来一个基本的页面。这时候,你可以问问自己十分对于前端感兴趣,如果不感兴趣可以重定向到后台部分。

重定向到后台

后台部分一般也是由一门语言驱动的,不过与前端统一的HTML+CSS+JS不同,后台语言分为很多流派,大致有下面几种

  • PHP
  • ASP.NET
  • JSP
  • Node.js

具体的优劣这里不做任何评价,你可以通过在线招聘网站搜索关键字来查看岗位数。

那么选择了一门后台语言,就可以去找对应的学习资料去学习它了,具体它能够做什么、有何意义在学习过程中自然可以感受的到,不需要花生在这里过多的啰嗦,更不需要学习者去自己百度。关于语言的理解,学会了以后自然水到渠成。

一般来说,后台语言通常功能比较多,可能全职学习你需要2个周才能呢搞定,能够用后台语言封装基本的API和操作数据库。这时候,你可以问问自己十分对于后台感兴趣,如果不感兴趣,请对比前台看自己更喜欢哪一个。对比过程中,注意不仅仅要按照自己的兴趣,还要去对比市场需求与薪资范围。

深挖的所感兴趣的

深挖前端

如果你觉得前端比较适合你,那么你可以继续深挖前端,尽管前端也分为好多部分,不过这不要紧,因为有一门语言可以帮助你全面的了解前端 —— JavaScript

JavaScript是比较有难度的,不过你需要要去学习它,不仅仅是它或许会在你未来的工作中用的到,它还可以帮助你全面认识前端,因为它很“万能”,曾经有这么一句话来形容他

any application that can be written in JavaScript, will eventually be written in JavaScript

——Jeff Atwood

简单来说就是“任何可以用JavaScript来写的应用,最终都将用JavaScript来写”,是不是很有趣?

总之,如果你决定学习前端,那么通过学习JavaScript,你会更清晰自己到底对于哪一方面比较感兴趣、自己适合哪一方面,当然,决定时不要仅仅依靠主观(喜欢、适合等),还要去考虑客观因素(社会是否需要、薪资范围等)。

总之,学了JavaScript以后,你自然会知道怎么做。

深挖后台

想要深挖后台的话就比较简单了,后台语言一般来说就一种,继续往下学就可以了,学到一定程度有可能你就知道自己到底感兴趣哪一方面了,比如对数据库感兴趣、对服务器Linux感兴趣等等等等。

这里所谓的继续往下学是指全面的学,拿PHP来说,一开始入门学习的可能仅仅是PHP的基本语法,而决定深挖后台后,你需要自己尝试在Linux中部署安装LAMP或LNMP环境,然后简单了解如何配置。当建立服务后台时,也要涉及到数据库的基本操作,所以你也需要掌握基本的SQL语句和对应数据库的特性……

当你简单的把后台部分了解了个遍的时候,自然就知道自己喜欢适合的方向了。

全部深挖,全栈!

老实说,这是最糟糕的方式。

选择全部深挖意味着你对于前端和后台都处于摇摆不定的状态,这简直糟透了,除非你像花生一样有着不可抗拒的力量必须全栈,否则建议你不要这么做,哪怕你天赋异禀!

好吧,其实全部深挖也有一个比较正统的方向,那就是全栈工程师,简单来说就是团队中的润滑剂。一般来说一个团队前台工程师和后台工程师几乎是互相不了解的,这时候如果能有一个人去协调,那么效率就会高效很多。

当然,全栈工程师也有其他的作用,不过主流还是沟通协调团队,充当救火队长的角色。

全栈向的开发者不需要什么方向指导。

开发工具的使用

开发技术是开发技术,而开发工具是开发工具,二者是不同的。要拥有开发技术的同时,也要掌握基本的开发工具的使用。

千万不要觉得拿出时间来去学习一款软件的使用很不划算,大错特错!很多软件是使用,本身就已经是技术了!

代码编辑器

Web开发领域,主流的代码编辑器有2款,一款是notepad++,另一款是Sublime Text,二者各有优点,选择任意一款都是可以的,所以这里不做过多的介绍。

使用过程中要注意编辑器的配置,比如:代码的字体、背景色(建议深色调)、快捷键等,这些虽然看起来很简单微不足道,但是时间却和开发效率有很大的联系。

还要去接触一些比较有名的插件,非常典型的就是Emmet,几乎是必学的。

一定要多多注意使用代码编辑器的功能和快捷键,这非常重要!

集成开发环境(IDE)

Web开发的IDE可谓是满天飞,多到数不胜数,配置也是十分困难。

当你技术慢慢成熟,想要完成一个较大的项目时,轻量级的代码编辑器可能就无法胜任了,或许你可以通过各种各样的插件来将一个编辑器武装成一个IDE,但是花生不建议你这么做,通常他会浪费你大量的时间而收效甚微。

前端比较主流的IDE是Web Storm和HBuilder,这里首推HBuilder,原因有2点:

  1. HBuilder是采用Eclipse构架的
  2. HBuilder是国人开发的

而后台IDE根据不同的后台语言有所不同,若是PHP的话主流的IDE有PHP Storm和Zend Studio,这里首推Zend Studio,没什么原因,单纯是花生自己用的顺手(Eclipse构架),而且还写了篇关于Zend Studio配置的博文 部署安装ZendStudio

不建议初学者使用IDE来开发,因为IDE太过于庞大,辅助功能太过于强大,对于个人成长有些不利。如果你技术已经比较成熟了,那么配置一款自己喜欢的IDE势在必行,编辑器已经不能满足了!

配置IDE可能需要大量的时间,可能不亚于学习一门语言!许多配置可能你根本不知道是干嘛的,那么可以跳过,但是一定要把所有的配置都看个遍,就像看特定语言的参考手册那样。

做好觉悟,一个IDE可能需要几个周才能适应习惯,适应过程中他会无数次打断你的编码过程,不要急躁慢慢来就好。

版本控制软件

团队协作必备。

目前比较主流的版本控制软件有Git和SVN两种,这里首推Git,原因太多太多,最重要的原因是,它和Github.com有很高的亲密度,利用Github可以方便快捷的获取到很多的轮子。

总之,推荐学习Git,全职的学习时间大约在一个周左右,有些难度。

这种类型的软件主要两个功能,一个就是字面意思,可以帮助你控制项目版本,有一个项目开发的时间线,可以随时回滚版本(读存档),另一个就是,它可以协调团队协作。

版本控制软件可以协调团队协作,这个非常重要。由于一个项目可能是有多个开发人员完成,如何合并大家的代码并解决冲突则是一个非常麻烦的问题,而版本控制软件就是来解决这个问题的。所以说,如果你想要参与一些实战项目,不管是有老前辈带的还是某些同辈自由组织的,版本控制软件都是比较有必要的。

Git使用熟练后,可以用一款图形化的Git工具来提高效率,这里推荐SourceTree,如果会原生的Git,操作起来应该不难。

Markdown编辑器

Markdown越来越流行了,连手机端都开始支持Markdown语法了,所以这里简单的推荐下Markdown编辑器。

比较好用的本地Markdown编辑器花生推荐2款,MarkdownPad2和Haroopad,二者各有优点,建议都装。Markdown可以渲染出PDF文件,而Haroopad用起来很顺手,而且支持[TCP]语法。MarkdownPad2是收费的,这里就不提供下载地址了

  • Haroopad:http://pad.haroopress.com/user.html

在线Markdown编辑器推荐Cmd Markdown

  • Cmd Markdown:https://www.zybuluo.com/mdeditor

花生一般是用Haroopad编辑,MarkdownPad2渲染PDF。在线编辑器虽好,但是收费,暂时承担不能。

关于学习的建议

关掉代码提示

不要去追求所谓的奇技淫巧

学习资源

当你开始使用下面的学习资源,请确定它适合本时期的自己。什么时期适合学习的学习方式参见应该如何开始学习写代码

视频教程

李炎恢老师系列视频教程:www.ycku.com

xHTML视频教程,花生当初学习的时候就是用的这个,亲测给力!不过貌似版本有些老,李炎恢老师录制了HTML5的视频教程了

  • xHTML:http://www.ycku.com/xhtml/
  • HTML5:http://www.ycku.com/html5/

而关于JavaScript,李炎恢老师的这个视频讲的非常给力,而且由于JavaScript更新缓慢,截止本文撰写时,这个是花生最推荐的JavaScript视频教程

  • JavaScript:http://www.ycku.com/javascript/

后台的PHP,李炎恢老师的PHP视频教程相当的鼓励,已经不建议观看,而花生这边也没有什么比较好的资源了。

在线教程

Web开发前端部分,首推W3School,尽管内容比较古老,但是很严谨,还是值得一看的。再就是其他的W3C镜像站也是不错的,比如菜鸟教程。

  • w3school 在线教程:http://www.w3school.com.cn/
  • 菜鸟教程:http://www.runoob.com

后台暂时没有找到比较好的在线课程。

Git在线课程推荐廖雪峰的在线教程,讲的说实话一般般,不过确实是花生看到过最好的 …… 阮一峰前辈的博客中也零零散散整理了几篇关于Git的

  • 廖雪峰的Git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
  • 阮一峰的博客:http://www.ruanyifeng.com/blog/search.html?cx=016304377626642577906%3Ab_e9skaywzq&cof=FORID%3A11&ie=UTF-8&q=git&sa.x=0&sa.y=0

配置ZendStudio,花生也写过一篇关于ZendStudio配置的博客,还有关于配置安装Firefox的

  • 部署安装ZendStudio:http://pea.nutjs.com/e279
  • use-firefox:https://github.com/pea3nut/use-firefox

参考手册

Web前端的参考手册首推W3School,菜鸟教程的一般般

  • w3school 在线教程:http://www.w3school.com.cn/
  • 菜鸟教程:http://www.runoob.com

关于JavaScript还有一个不错的,阮一峰前辈写的,截止到本文撰写时,阮一峰前辈还没写完……不过大部分已经很全了。还有jQuery参考手册

  • JavaScript 标准参考教程:http://javascript.ruanyifeng.com/
  • jQuery参考手册:http://hemin.cn/jq/

后台部分,PHP有官方的在线手册,国内的分享工作室将他编译成了独立的CHM文件

  • PHP官方在线手册:http://php.net/manual/zh/
  • 分享工作室:http://www.os688.com/fenanr/112646.html

 花生自己的学习方法

啊啊,这里简单说下花生自己是如何学习Web开发的,记录一下流水账,各位看官仅供参考:

高中学过简单的Dreamweaver,感觉挺好玩(大家不要学,已经淘汰了),所以直接在网上百度到的李炎恢老师的JavaScript视频教程,直接看,在几乎不了解HTML+CSS的情况下。

暑假内全职学了60天的JavaScript左右,写了一个JavaScript的爬虫,Pxer,蛮好玩的。然后开始回过头来补HTML+CSS,看的是李炎恢老师的xHTML视频教程,学了多久不记得了,反正时间比较短,中间拿出了很大的时间去维护Pxer。

维护Pxer的过程中发现了自己很多的缺陷,然后去刷W3School的JavaScript参考手册,没记错的话是看了3遍。李炎恢老师的JavaScript视频教程也又看了1遍。

然后有了创建Web开发协会的打算,去学了PHP。由于JavaScript基础比较好,PHP边学边写,直接搭建起了一个协会官网,构架现在看来还是不错的。当时看的李炎恢老师的PHP视频教程,那时候看都已经有点古老了,导致了很多问题,各种百度,道路很崎岖……

然后PHP学的越来越深,接触了ThinkPHP,协会内网不停的重构,中间也遇到了很多小插曲,然后通过百度去克服,比如Linux的LAMP配置、ZendStudio配置,权限分配等等,不过这都不是主线。

然后决定开始使用框架,看了李炎恢老师的Bootstarp视频教程,勉勉强强看完了,感觉视频教程已经不适合我了,jQuery的视频教程看了几集就看不下去了,直接去看的菜鸟课程里的jQuery在线课程,刷了遍jQuery参考手册,发现直接就可以用了。

发现自己的审美差的可以了,然后去买了本《写给大家看的设计师》恶补了下,感觉好多了。

然后开始利用各个开源框架和类库搭建协会内网,截止到本文撰写时,还没写完。

差不多就是这样。

  • 浏览:2570
  • 评论:2

发表新的回复

ztx 2016年11月28日 上午8:33

路上经常叫你花生学长的就是我了,涨姿势了,思维多更新,就如软件时常在更新一般。

回复

Winjourn 2016年7月25日 下午11:20

顶一个,写得真不错

回复