您的位置:网站首页 > Java教程 > 正文

程序员的前端之

类别:Java教程 日期:2017-6-15 18:17:22 人气: 来源:

  总的来说HTML并不难,甚至可以说很无脑……HTML的标签个人觉得过一遍就得,知道什么时候该用什么标签就可以了,因为在以后的开发中打交道最多的就是各种各样的标签,想不熟都难。就像现在我写这篇文章用的Markdown一样,只是几个标签的反复应用。那么html的学习就相对来说很了,可以跟着w3schoolW3school网址过一遍标签,网上也有很多其它网站做这个的,像菜鸟教程,慕课网视频之类的都可以用,等熟练了就可以去国外看看一些前端的新技术,像MDN,W3cschool(国际),stackoverflow(最大的程序员问答网站)。总的来说HTML并不难,甚至可以说很无脑……HTML的标签个人觉得过一遍就得,知道什么时候该用什么标签就可以了,因为在以后的开发中打交道最多的就是各种各样的标签,想不熟都难。就像现在我写这篇文章用的Markdown一样,只是几个标签的反复应用。那么html的学习就相对来说很了,可以跟着w3schoolW3school网址过一遍标签,网上也有很多其它网站做这个的,像菜鸟教程,慕课网视频之类的都可以用,等熟练了就可以去国外看看一些前端的新技术,像MDN,W3cschool(国际),stackoverflow(最大的程序员问答网站)。

  XML,这个和HTML实际上关系不大但长得很像,了解下即可,这是一种作为数据传输的文本形式,如今用的更多的是json传输数据,XML基本已经退出历史舞台了;

  一个网页,我们把它分为结构层(HTML),样式层(CSS),行为层(JavaScript)。这三门语言就构成了我们平常所见到的所有的网页。需要强调的是,包括手机端网页在内都逃脱不了这三门语言,只不过是无数的前辈为了让后来人写代码更一点,更爽一点,自己封装了很多函数供我们调用。比如HTML ,CSS比较有名的框架Bootstrap,JavaScript的jQuery。Bootstrap是Twitter员工设计的现在整个github上star数最多的估计就是bootstrap了,截止改动日期已经达到了96802,相信过不了多久就会突破十万了!bootstrap呢,有人说这是专门为后端设计的框架,因为它运用起来十分的简单,将文件引入后,知道它的定义效果是什么样的就能很熟练的运用,而且支持移动端,响应式布局做的很好,这是它受欢迎的很大一部分原因~关于jquery,JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Sari 2.0+, Opera 9.0+),jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。设计就是写更少的代码做更多的事,因此这个库用起来还是很爽的,但同样也导致很多人会用jQuery实现某个功能却不知道原生js如何实现,个人觉得原生js还是要学深的,毕竟框架和库总是在改变,但核心——JavaScript是不会变的。

  那么CSS该如何学习呢,就一个字,敲!等你把CSS所有的坑都踩过一遍之后,CSS也就彻底出师了。在CSS3出来之前CSS就是一个纯粹的样式表,想要什么样式,直接设置就OK,但随着CSS3的推出,整个CSS好像就被打了鸡血一样,焕发着活力。因为在一定程度上它把JavaScript的活给抢了,比如简单动画,对鼠标事件的某些触发等等,很多人说CSS是其实是设计师的工具,因为他没有变量也没有条件语句,纯粹的罗列代码,很多程序员都觉得写CSS很痛苦,事实上也的确如此,所以有了sass和less等CSS预处理器,这个让CSS写起来变得爽多了~另外,CSS3的动画也是很值得研究的。

  明白什么是块级元素,什么是内联元素;块级元素(div, form,h1-h6,hr,p等),内联元素(span,b,a,i,img);

  首先我想让大家明白的是,这门语言很好入门,况且是在大家学了一学期C语言的前提下,但同样要明白的是作为一门编程语言,想要精通这门语言绝不是一两月那么简单的。在浏览器里面有一个叫JS引擎的东西,它是用C++写出来的,而它的作用就是渲染JavaScript代码,说的通俗点,就是让浏览器知道我们所写出来的JavaScript应该如何解析。Chrome之所以让人感觉快就是因为它自己有一个牛逼的V8引擎,这是其它四个浏览器(IE,Firefox,Opera,Sari)所没有的,这个V8引擎不论解析JavaScript还是Jquery都特别的吊,所以呈现页面也就特别的快。这里需要说一下的是,浏览器解析一个网页的顺序大体上是这样的:先加载HTML标签组成DOM树(不知道DOM是啥不要紧,学完数据结构就明白了),遇到link,script然后加载相关的CSS或是JavaScript代码,这也是为什么一般script标签写在body之后的原因,因为一旦相关的DOM没有加载完而JavaScript需要对它有操作,那浏览器就要懵逼了。

  如果说HTML和CSS给网页穿上了一件衣服的话,那么JavaScript就是在构造网页的了。我们在编写代码的时候一定要记住我们是在和浏览器说话,是在和浏览器交流,你要让浏览器明白你想要呈现出的效果是什么,不然你让它猜(它的确会猜,这也是HTML代码比较的原因,不过还是推荐大家按照XHTML的要求写代码),浏览器会感觉很操蛋的,那这个交流就很不成功,即使呈现出了想要的页面,以后想要优化的话就比较费力了。

  附上几个学习地址:慕课网视频;W3School;我这里还有极客学院的视频有要的可以找我拷。给大家总结下JavaScript的重点吧:

  如果你认为JS就是操作DOM树,弹出个框那么简单的话就错了,一定要抱着谦虚的态度去学(学完HTML,CSS很容易让人产生JavaScript也很简单的错觉),当然它并没有C++那么逆天,好好学还是很容易出成绩的。

  数据传输,通过Ajax我们可以在不刷新网页的前提下更新网页的部分元素哦,而且通过对于数据的操作,我们可以实现诸如瀑布流,数据交换等功能。这点可以参考QQ空间网页版看好友动态,只要你往下一直翻,就有结果呈现出来。以前我们数据传输的形式是直接把php代码写在HTML文件中,但AJAX的出现打破了这一僵局,使得前后端分离的更为彻底,因为只需要一个接口,前后端定下接口也就各干各事了。

  事件触发(鼠标点击,键盘),开发WebAPP的话得考虑手机系统API的调用,和鼠标键盘时间就不一样的了,前端的API实际上只有14w+但webapp光的API就有40w+,所以webapp是个大坑,在它还没法超越原生性能之前还是不要触碰的好~;

  OOP,jaascript没有传统的类的概念,所以它的很多东西实际上都是特立独行的一套,但OOP思想才是javascript的精髓,前面操作个DOM树,页面优化啥的实际上并没有多少技术含量;刚开始可能会无从下手,相信我,每个人都是这样。先从一个小demo写起来,起码{}得有啊;

  json,接触了OOP,学会了AJAX那么现在就得学下json了,json是一种数据格式,在页面交互中,后端会把数据以json格式返回,前端用ajax拿到后,把这个字符串进行相应的解析,从而得到我们需要的数据。到了这一步,你就可以出去找项目了,只有实践才能不断提高自己;

  闭包,这个后期很重要,也是javascript的一大特色,简单的说,闭包就是实现了在函数外调用函数内定义的局部变量的功能;

  原型链和继承,这是个很抽象的东西,但很有用处的东西,一定要深入看才行,真的,不然真的看不懂…找个角落,带上,看看闭包原型链何尝不是一种乐趣呢~;

  库和框架的学习,近几年jquery不是很受待见了,这倒不是说jquery不值得学了,只是新技术层出不穷,使得jquery的优势不再明显,这实际上是个好事,一方面说明技术不断进步,另一方面也说明前端始终散发着活力。最近几年angularjs,react,Vue都是比较火的框架,有机会可以看看,你会发现写前端顿时变成了一件享受的事情,国内的框架还有dcloud,apicloud等等,这俩国人设计出来主要的方向是webapp,所以想做app的童鞋也可以尝试下,感受下一次开发多平台调用的快感~关于webapp有兴趣的可以了解下,这里按下不表。框架学完jquery再看;

  现在的前端并不是纯粹的前端,绝大数都已经了!我们着要实现前后端分离(实际上这才是开发的终极目标),但在实际开发中往往不能分离,所以基本每一个前端都会学一门后台语言,比较热门的后台语言有:PHP,Java,Python,Node;PHP运用的最为广泛,Java适合开发大型网站(什么是大型网站呢,就类似于淘宝那种满天的图片数据那种),现界上80%网站还是用的PHP的,所以PHP尽量了解下(这估计是你们下学期考虑的事了),Node就是js(和js的语法啥的一毛一样),不过它多了一个模块,弥补了js的缺陷,关于模块….不知道你们理解不理解,像java有类文件,Python有import机制,PHP有require和include。现在不懂Node的前端是很尴尬的,所以以后有机会也要了解下的。Node我也还在学习中,按下不表;

  SQL语句学习,这个必备,虽然现在的数据库工具十分的强大,但必要的SQL语句还得懂要不怎么用PHP代码操作数据库呢~;

  其它语言推荐,也可以尝试下Java写后端的感觉,试试Python,Python在写爬虫和数据处理上效率还是很给劲的~

  Photoshop,身为前端工程师Photoshop肯定是要掌握的因为很多时候设计师给的图并不是切好的,我们主要自己切图,于是乎,切图也就成了我们的必备技能,切图仔的戏称由此而来。另外,会点Photoshop也可以给自己PP图,装装逼嘛~

  很多人觉得前端工程师不需要懂算法,但事实却是各大公司的面试题里都会多多少少有算法题,这门学问很深,倒也不必深入研究,术业有专攻,能把前端一层搞好就不错了,眼高手低~,一些比较基础经典的算法,比如快速排序算法,堆排序算法,归并排序,选择排序算法,深度优先,广度优先…等等等,试着用javascript敲一遍成就感还是很大大滴有的~~~;

  网络协议,我们知道OSI七层协议:物理层,数据链层,网络层,传输层,会话层,表示层,应用层;我们所做的都是在这层皮肤上(应用层),接触最多的就是是HTTP协议了,协议这个玩意看不见摸不着的,很抽象,我们可以用一些抓包工具抓包像Wireshark,Fiddler等抓包工具,可以很方便抓取数据,其中wireshark各种协议通吃,也是国际上认可度很高的一款抓包工具,Fiddler一般开发者用的比较多,它可以抓取HTTPS协议,而且对于前端后端交互的数据有很好的处理,深受前端开发者的喜爱~。协议这东西看起来很无用,似乎黑客用的比较多一点~但这玩意有个好处——稳定啊,不会变,整个世界都在用的就是TCP/IP,学习成本低,也不会贬值,何不拿来耍耍~另外,很多公司面试都会问本机和服务器建立连接时的三次握手具体都发生了什么~所以协议这块还是很有必要学的;

  操作系统…以我现在的水平说不出来…没学过,不过起码得熟悉window,Linux,Mac系统的操作吧(好像还是啥都没说,留着以后补充吧);

  作为一个前端开发者,要有适合自己的工具做开发使用,那么使用IDE还文本是编辑器,我在这里就不给了,刚开始的个人倾向还是文本编辑器,因为不同于其它语言,HTML有点像语言学科,需要记,使用IDE的话不太利于记忆标签。IDE的话推荐WebStorm和atom(我现在再用),国内有一款Hbuilder(可开发webapp,配合mui,html5plus,dcloud),我用过一段时间…..很蛋疼的IDE,界面设计的很不错,也还好用,也一直在我电脑里,但不写APP的话是不会打开的….像VS,Dreamweaver之流可以体验,要是你骨骼惊奇觉得好用也可以用….并不;文本编辑器呢,那不用说肯定Sublime,Sublime强大的插件支持让它如虎添翼,用着用着就会发现,实际上在插件的支持下它本身就是一个IDE,但却没有IDE启动缓慢的诟病。刚开始可以各种工具(notepad++,UEditor,Vim等等)都试一下,不过我相信最后你还是会回到Sublime的怀抱的(如果你觉得Sublime不好用,那只能说明你还不会用它)。附上学习地址:慕课视频,Sublime相关博客;安装的话网上教程多得是,自己百一下就行。

  说完了开发工具,再来说下调试工具,调试工具的话,Firefox有一个 插件叫Firebug很好用,也可以使用浏览器自带的开发者工具(按F12就出来了,console的使用,XHR的使用,断点调试,基本已经足够日常开发了),如果要对网页某个元素进行操作或是了解就把鼠标放到元素下面,右键检查就OK。或是直接点击左上角的箭头移动鼠标到要检查的元素。调试很重要,前端前辈们在很长一段时间里调试JavaScript纯粹靠运气。所以我们是很幸运的。

  算习与应用从入门到精通 编程 网络 网站 互联网 IP域名 数据 程序设计软件开发¥55.2购买

  推荐:

  

0
0
0
0
0
0
0
0
下一篇:没有资料

相关阅读

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved