赞
踩
在正式开始学习之前,肯定是需要先小聊一波的啦。
俗话说得好,兴趣是最好的老师。我也一直很赞同这话,比如我自己喜欢的东西我一个人做着都忒起劲儿,要是我不喜欢的东西,就是给我很大的诱惑那也没法(或许这样的想法是不对的,也难怪我和大佬之间的差距这么大了是吧)。
so,如果你对web都不感兴趣,那么,朋友,请你出门右拐!!!
哈哈哈,言重了,言重了。想必大家能够看到我这篇文章,说明大家对于web已经有了一定的兴趣(之所以这样说,是因为我觉得兴趣其实是可以培养的,这方面想必大家可能比我还要懂的,你说呢?)。
就我而言,我自己其实不是一个只专注一方面的人,我更喜欢的是进行多方面、多维度进行学习,我是一个狂热的人,只要我接触过的基本上都会在很短的时间爱上她(哈哈哈,至于哪些是我不喜欢的呢,其实到目前为止,我都不知道我到底是喜欢什么、不喜欢什么,当然我觉得英语就TM的是一个特例,I like it, but I do not do it well.),噢,我很抱歉,提起了伤心事儿。
咱们言归正传,,,
一、瞎说一波
说起web的学习,当然得从前端开始学起了卅。 在这里我又得说说我自己的web学习过程,希望大家能够找准自己,我在大二下的时候(目前大三)在大佬(这位是真的很强很强的大佬,在我大学生活中分量很重的几个人之一,在此向聪哥表达我由衷的谢意)的引荐之下进了实验室,当时的我一心就想弄算法的学习,自己就这样在算法的世界里水了一学期,然后大三上,我给自己定位的是web后端(当时是想着学后端可以学算法,将算法应用到实际项目开发中,其实前端也是可以的哈),然后我又再次的来到了web学习,先是前端学习,学了一个月就迫不及待的开始学习后端(哎,真是个让人操心的孩纸。)。
就这样兜了一大圈,又回到了web的学习。
再次向各位读者说声抱歉,我这人有个毛病,写东西或者平时思维都比较跳跃,一不小心就会走偏,大家见谅。
Web前端开发技术主要包括三个要素:HTML、CSS和JavaScript!
它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化、SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等。
前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。
二、HTML+CSS
这一部分相对来说较简单,但是并不代表就不重要。我在《Web全栈工程师的自我修养》一书中看到,有些公司前端工程师进行了细分,当然在设计师也对应的进行了细分为视觉设计师和交互设计师。所以,请大家务必重视此模块。
这一部分主要学习HTML标签、属性和事件,学习使用CSS来控制网页的样式和布局。
基础知识点:HTML 基本格式、文本、图像、超链接、表格、列表、表单、框架等;
CSS 基础语法、框模型与背景、文本格式化、表格、显示与定位、动画、过渡、2D/3D 转换、CSS 优化等。
推荐学习路线及资料:
第一个是12个小任务,堪称经典,我当时跟着这个路线走,学到了很多很多的知识,同时上边也有很多大神的代码链接,相当不错。
第二个呢就是慕课的教学视频,讲得很基础,很适合入门,
第三个呢就不说了,大家进去就知道这个文档的强大了。推荐这个文档的两个原因,一是实时更新、二是手册涵盖全面,用法和例子很清晰。
第四个呢,大家自己看名字吧。
当然,对于英文不是很好的小伙伴来说呢,也是有很多还算不错的中文文档的。
其他还有很多优秀的资料,文章,我这里就不一一列举了,大家自行Google,要培养自己的自学能力。
另外深入学习的话这部分就还有很多很多了,知识点蛮多的。另外还有比如Bootstrap这样的工具包,这一部分的内容也是很丰富的哟。
三、JavaScript基础
这一部分不多说,我是这样认为的,一个人的web前端学得咋样可以就从对JavaScript的掌握程度来衡量(虽说有点牵强,但我觉得相当合理,哈哈哈),对于前端大佬来说,JavaScript不仅是广度的学习,更重要的是对JavaScript深入理解学习。
基本知识点:JS语法、函数、DOM、BOM、事件处理等。
JavaScript是一种在客户端广泛使用的脚本语言,在JavaScript当中提供了一些内置函数、对象和DOM操作,借助这些内容可以来实现一些客户端的特效、验证、交互等,使页面看起来不那么呆板。
对于如何学习JavaScript,我建议大家看看 如何循序渐进、有效地学习JavaScript?- 知乎
这一部分我就不和大家扯了,坦白说,我自己JavaScript很菜,只停留在了基础阶段,没有深入学习,所以就直接上推荐资料啦(可怜了我的JavaScript,都没有花时间去学,后边我会很认真的去学的,相信我(奋斗脸)。)
第一个是慕课网上的视频教程,其实还有很多优秀的教程,我之所以推荐这个教程是因为我是学习过这个教程的,我了解这个教程适合新手,至于其他优秀的教程就靠优秀的你去发现了。
第二个是廖雪峰老师的,它的教程我看过很多,都挺不错的,深入浅出。值得细细研读
第三个呢就是一个文档,建议用来当字典用,当然去找官方文档更好了。
第四个就有点不一样了,这是一篇文章,之所以推荐这篇文章,是因为我觉得这篇文章虽然字数不多,但是很在点子上,文中也给了优秀书籍的链接,所以,你懂的卅。
四、JavaScript高级
想必大家走到了这个阶段,心里已经有了底了,不会感觉空了。对于一般的页面,应该都是能够“1:1”的做出来了(在这里说下,我觉得学习web前端,一个很有效的方式就是临摹优秀的网页,会收获很多的哟)。
JavaScript高级呢,我这里就主要是给大家罗列下哪些东西啦,我也没有去学习,希望后边我们一起学习,一起进步啦。
这一部分主要是学习JavaScript的框架(JavaScript框架是一组预先编写的JavaScript代码,为基于 JavaScript 的应用提供更简单的开发方式。)、JavaScript的高级应用。
JQuery是一个免费、开源的轻量级的JavaScript库,并且兼容各种浏览器(jQuery2.0及后续版本放弃了对IE6/7/8浏览器的支持),同时现在有很多基于jQuery的插件可供选择,这样在我们实现一些丰富的动态效果时更方便快捷,大大节省了开发的时间,提高了开发速度,这也充分体现了其
write less,do more的核心宗旨。
这个颇受欢迎的JavaScript库简化了HTML文档处理、事件处理、动画和Ajax,声称“改变了数百万人编写JavaScript的方式。”它的赞助者包括WordPress、Famo.us和IBM。
AngularJS有着诸多特性,最为核心的是:MVW(Model-View-Whatever)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
AngularJS 是一个 JavaScript框架。它是一个以 JavaScript 编写的库。它可通过 <script>
标签添加到HTML 页面。 AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML。 AngularJS
是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中。
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue
被设计为可以自底向上逐层应用。Vue
的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue
也完全能够为复杂的单页应用提供驱动。
React(有时叫React.js或ReactJS)是一个为数据提供渲染为HTML视图的开源JavaScript
库。React视图通常采用包含以自定义HTML标记规定的其他组件的组件渲染。React为程序员提供了一种子组件不能直接影响外层组件(”data
flows down”)的模型,数据改变时对HTML文档的有效更新,和现代单页应用中组件之间干净的分离。
5、。。。
JavaScript框架很多很多,这里就不一一列举了,大家自行Google吧。
之所以要列举这几个框架呢,JQuery就不多说了吧,几乎是每个前端工程师都掌握的框架,这样说不知道对不对,但我认为你应该懂我的意思了。至于另外三个,现目前的分量,你上掘金这样的社区上看看就懂了的哈。
五、学前端,还得艺术点
我自我认为其实学前端并不只是将美工组的图纸进行编程实现,还需要自己有相应的美学的知识,所以如果学习前端平时还是学下关于美学方面,UI设计还是要了解点的。
——————————————————————————————- 傲娇的分割线
很感谢你能耐心的阅读到这里,前边部分就是前端的主要内容了,如果你立志成为前端工程师,那么我建议你点下浏览器右上角的X,抱起书本、操起键盘开始学习吧。
哈哈哈哈,其实这样说的原因有二:
一、对于前边部分,我都讲得相当的基础,都只是皮毛科普,所以对于立志成为前端工程师的你们肯定需要更进一步的进行查阅资料,学习,整理出自己的学习规划
二、对于后边部分,主要是讲解web后端,而且是讲解Java web部分,对于初学者来说,可以以全栈工程师为目标,但是不建议一上手就是什么都学,学习还是先深度后广度的好。
——————————————————————————————- 傲娇的分割线
这一部分主要就是Java程序设计语言基础,如果已经学过Java的朋友也是可以直接跳过的,当然看看,回顾一下也是可以的。
一、Java基础
1、Java语法。这一部分呢,如果学过C++的同学,可以说在很快的时间就能够了解完,当然我建议的不是很快过完知识点,就如文章开头的时候说的,Java后台的学习应该是先慢后快的,即在学习基础的时候要学扎实,后边框架的学习可以加快点速度,但其实也不是,想必大家都知道的,没有哪一部分的知识是可以被轻视的。
2、面向对象。Java语言是纯的(方言哈,)面向对象的程序设计语言,勾画关键字就是“面向对象”。这个很有意思的哈,本来就没有对象,怎么让我面向对象编程?难道是靠想么?还真别说,这玩意儿就是靠想,在学习面向对象的程序设计语言的时候,必须要有抽象思维,要学会将每一件事物都能抽象为对象来处理,要充分体会什么叫做类、对象、属性、方法。至于更多的,大家在学习中慢慢体会吧。
3、常见API。这一部分主要是在前两个部分学习的基础上,充分的利用Java为我们提供的API,Java是一个封装性很好的语言,为我们提供了各式各样的接口供我们调用。
4、集合框架。如果大家学过数据结构,这一部分其实完全可以跳过。这一部分主要是将各种数据结构进行了实现及封装处理及优化。
二、Java API
1、Java IO。这一部分主要需要掌握文件操作,IO流,二进制等。并不只是应用,而更多的是需要进行深入的理解,当然,这一方面我自认为我做的相当差,当时因为很拉进度,所以对于这一部分乃至Java基础部分都是很快的刷过去的,现在我也正处于返回来学习基础的阶段,所以,知道基础多重要了卅。
2、多线程。这一部分就是相当相当的重要了,如果大家看过Java这一门语言介绍的时候就会注意到,Java的特点之一就是内置了对多线程的支持,多线程允许计算机同时完成多个任务。这部分学习了解Java中多线程相关的基本概念,如何创建,启动和停止线程?什么是正确的多线程,怎样编写多线程程序。了解线程安全等。在有了基础后再深入学习
3、反射注解。听这名字就知道这部分知识有点小难,如果大家使用过JDBC那么应该就接触过反射注解。在后边学习框架的时候,可以说随处可见的注解,所以这一部分,我认为初学者就先了解概念,学习使用就好,待后边学习了框架后再来深入研究。(目前我也不咋理解这部分,遗憾)
反射——Java高级开发必须懂的 - 慕课网
全面解析Java注解 - 慕课网
4、网络编程。Java网络编程呢,说实话,我没有写过,顶多是在学校上课的时候写过一个小demo,所以我也不知道怎么说,大家自己去了解吧。
想必大家看到了,这部分的知识全是慕课网上的,也不是因为这上边最好,还是那句话,我推荐的都是我看过的觉得不错的,并不一定是适合每一个人的,只是我觉得可能适合,如果大家觉得哪个不适合自己,千万不要硬着头皮看下去,请继续查找更优秀的资料、视频教程。
这部分我都推荐的是视频教程,我的建议还是要以书本教材为主、视频教程为辅,感受不同的学习方式,这样或许会收获更多。
一、Servlet
千呼万唤始出来,终于到了Java web阶段了,对于servlet来说,我觉得这是Java web的核心所在,这部分真的很重要,一定要把这部分基础学扎实了,JSP也是servlet衍生而来。这部分必须要掌握servlet的生命周期及生命周期的管理、servlet几个重要的方法(servlet API)、servlet基本原理以及能够用servlet编程(Filter、Listener等)。
一些啰嗦的话就不讲了,直接上手去体悟吧。
二、JSP
在前边的servlet中提到了JSP,如果了解过Java web的同学,想必知道JSP是什么,所以我这里就不讲了。
。。。。。。
啊?就不讲了,啥意思?
没错,我不讲这部分了,打字手都软了。(嘴角上扬)
。。。。。。
额,开玩笑的啦,还是简单讲下吧,这部分呢,讲道理,在以前真是很6的一波操作,真的,没开玩笑,你怎么也不可能想到居然还会有将Java代码放HTML里边的吧,没错,这就是我们的JSP。这部分需要重点关注下EL、JSTL,自定义标签。现目前来讲的话,还是有很多在用JSP开发,但是主流还是推崇的是前后端分离,我也喜欢这样的分离,所以JSP这部分,过。
三、AJAX
AJAX开发呢,这部分就是前后端进行数据交互很重要的啦。
AJAX即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由杰西·詹姆士·贾瑞特所提出[1]。
传统的Web应用允许用户端填写表单(form),当提交表单时就向网页服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回应时间。这导致了用户界面的回应比本机应用慢得多。
与此不同,AJAX应用可以仅向服务器发送并取回必须的数据,并在客户端采用JavaScript处理来自服务器的回应。因为在服务器和浏览器之间交换的数据大量减少,服务器回应更快了。同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web服务器的负荷也减少了。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。虽然其名称包含XML,但实际上数据格式可以由JSON代替,进一步减少数据量,形成所谓的AJAJ。而客户端与服务器也并不需要异步。一些基于AJAX的“派生/合成”式(derivative/composite)的技术也正在出现,如AFLAX
我认为Ajax不只是数据的交互起重要的作用,我更欣赏的是它的异步请求,对于用户来说,真是妙呀。
四、Java框架
就目前来说,SSH和SSM都有很多公司在用,也就是建议都学习学习。当然,我更倾向于SSM。
对于SSM建议:MyBatis+Spring MVC+Spring+SSM整合
对于SSH建议:Hibernate+Struts 2+Spring+SSH整合
MyBatis和Hibernate是相似的,都是操作操作数据库的框架,Hibernate是一个典型的ORM(关系对象模型)框架,MyBatis我自我认为它是将POJO中的方法和SQL语句进行关联。
Spring MVC和Struts 2是同一类型的,都是web框架。我还没有学习Struts 2,就Spring MVC来说,重要的是将MVC设计模式进行运用,
Spring这就是很重要很重要的啦,需要掌握IOC和AOP。
这一部分基本就算没讲哈,希望大家能够打好基础再来学习框架,我们一起学习。
推荐资料还是慕课网上、另外推荐传智播客上边的。
有什么写的不对的,欢迎留言指正,谢谢。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。