献给有发程序猿

经常会有读者朋友加我后,过来问,我是自学的前端,可以写一些简单静态页面,如果我想进一步提升自己,请问我应该怎么做?今天我结合这个问题,梳理了一下自己这些年的一些经验,跟大家分享一下,也希望对大家有帮助。

学个工具,依葫芦画瓢, 先学会实现效果,这个很重要

作为刚入行的新人,先去仿一些页面的实现效果,是成长的必经之路。不要觉得这是一个没有含量的事情,觉得丢人,如果你能把别人实现了的效果,用自己现阶段的知识,也将其实现出来了,这样不仅可以增加你的自信心。还能更加理解CSS,HTML语言规范。

在这个阶段,你还需要选一款适合的自己的开发编辑器工具。

比较常见的前端开发编辑器,有WebStorm,Sublime Text ,Notepad++,Dreamweaver,HBuilder,Visual Studio Code,Atom,Aptana等,但是这些工具各有优劣,只要自己觉得合适就可以了。总之,你的目的就是把页面效果先实现了,然后选一款工具用起来,慢慢熟练。

同类型的工具,当你熟练掌握一个工具的时候,你再去学习其他同类型的工具,都是非常容易的事情,上手也比较快,只要你完成了从零到一的积累过程,你从一到十这个阶段,也会快一些。

记得,我当时自学入门前端,我是先学的Dreamweaver,后来换Sublime Text。当学Sublime Text的时候,学习成本就相对低很多。

在后来的工作中,有次项目,公司要求大家统一采用WebStorm,那时候,我也是第一次接触WebStorm这个工具,后来为了配合团队,就把Sublime Text 换成了WebStorm,也是拿来就用,也没有特意去学习过,就是在项目,如果遇到不懂的地方,然后会去查看,关于快捷键的掌握使用,自己在写代码的时候,学习刻意去使用一下,然后稍微用心记下就可以了,也不用像小时候读书那样去特意背诵。

在这个阶段里,你只要看见自己喜欢,或者自己目前还实现不了的一些效果,你就努力去模仿练习,去看一下别人的源码,是怎么写,怎么实现的,然后自己跟着写一遍,这个阶段的学习原则只有一个就是依葫芦画瓢,把别人已经写好的界面效果,自己动手写一遍,把它实现出来。如果还没有开始学习js,一些交互效果,也可以先放弃。可以放在语言专题练习里。

在这个阶段,看到网上各种效果还需要将其分类收集起来,可以慢慢练习,如果现阶段,实现不了,也没有关系,等到知识累积到一定厚度了,自然就会了。

同时,在这里,我也给你推荐一个学习网站,https://codepen.io  

这个网站里面有很多炫酷的效果,可以在线进行编辑代码。你可以先收藏起来。

除了进行页面效果的初步刻意模仿练习以外,你还需要进行效果专题的模仿练习。

对于效果专题的模仿练习,主要是为了解决某类问题。比方,图片轮播效果,这个也是我们经常用的一个效果,但就是这么一个效果,它有很多实现的方式,现在可以用纯CSS3直接实现,也可以用JQ插件,还可以用JS,总之,不管用那种方式,你的目的就是实现图片轮播的效果。

而当你熟练了之后,你就会知道,什么情况下,选择哪个方式来实现比较合适,练习模仿阶段,可以先不用太考虑这个问题,包括浏览器的兼容,你都可以先忽略,等到效果实现了,你再慢慢去分析研究。

在专题效果练习时候,你除了看一些网站的效果,你也可以去特意找一些与你练习阶段相关的效果来模仿练习。

我们除了对专题效果的练习,我们还需要对语言的专题练习,其中这个跟前面的专题效果练习差不多。

像我们前面说的,图片轮播的效果,可以用CSS3实现,也可以用JQ,还可以用JS,但是不管哪种方式,目的都是一样的。

而我们对专题语言的练习,目的是为了,更加熟悉和熟练使用里面的一些特性。而不是单纯的实现效果了,在这个时候,我们就需要考虑他们的兼容性,以及具体应用场景,擅长解决什么问题。

比方,我们对CSS3的练习,但是CSS3可以解决很多以前不能解决的问题,像圆角,以前都是用图片,现在就几行代码就可以搞定了。但问题就来了,同样是圆角,但图片没有兼容性的问题,而用代码就会有。

因为在实现的时候,你需要考虑,它的属性,那些属性浏览器显示是没有问题,那些是有问题的,有问题的,又有什么解决方案。

总之,我们先模仿,然后才能熟能生巧,最后才是融会贯通。

不管怎么样,都不要看不起模仿练习这个阶段,我们每个人学习都是这么过来的,就像小孩子成长一样,肯定是先练习走,然后再练习跑;对于技能的学习,我们也是先进行大量的练习,然后才是自我创造。

在这个阶段,也是磨练心志的阶段,需要你静下来去好好学习。不能太浮躁。更不能急于求成。

就连达芬奇这样的大画家,在开始学习绘画的时候,都是通过大量模仿练习,而我们写代码,其实也是一个画画的过程,只是我们用的是计算机开发语言,达芬奇用的是画笔,工具不同而已,本质都是相同的。 

包括后期,学习框架也可以采用这样的方式方法来进行学习。

我想做一个自己的个人站点,需要怎么去实现?

我们经过了前期大量的模仿与学习,在下一个阶段,我们肯定都会想写一个属于自己的站点,这个想法没有错,当时我也是这么干的,因为当你会了很多东西以后,出去找工作,HR或者需求部门的面试官,也会问你要一个之前的线上作品,看看之前写的界面效果有那些,是否可以胜任他们的工作。

这个阶段,为啥要去做一个属于自己的个人站点呢?

第一,就是为了系统的了解整个开发流程,包括那些阶段。

第二,通过自己的搭建的站点,持续维护营运下去,说不定会有不一样的收获,虽然大家都说,现在已经过了人人建站的浪潮了。

但是作为一个开发人员来讲,建一个自己的独立站点还是非常有必要。像我们熟悉的阮一峰,张鑫旭,他们都是建有自己独立博客站点,而且浏览量还不错,现在可以接一些广告业务,虽然这些都是后话了,但是做一个站点,也是为了磨练自己,学习坚持去做一件对自己有用的事情。

下面我们就来聊一下,做一个自己的独立站点需要经过那么些阶段。

其实,我们在企业开发项目的时候,都是有,开发需求,设计,开发,测试,营运维护等岗位人员来进行配合工作,但是我们在做自己个人站点的时候,就没有那么多人参与进来,从头到尾,就只有你一个人。

所以,不管怎么样,它们的流程还是一样的。

1)个人站点,如何定内容开发需求

在这个时候,我们就要考虑,我做一个什么类型的站点?主要内容有那些?

内容,是一个站点的灵魂,一个没有内容的站点,就好比一个摆设的花瓶,虽然我们不要求内容高深与丰厚,但是,也不能只是一个空架子。

就拿我最近在做的一个项目【有课网】来说,开发需求,设计,文案内容,目前都是我一个人处理。

当时,定【有课网】的时候,我想了很多,到底做成什么样?最后,我定下来,我就做5块内容:编程,设计,写作,英语,摄影,为啥选这个5块内容呢?

编程,是我从毕业到去年一直干着这个活,这个是我非常熟悉的领域。现在也依然把当成副业在进行中,其次,我想一直继续下去。所以定了这个内容。

设计,是我后来完全自学入门的内容,并且,我现在也是一名专业的设计师,擅长UI 设计,平面设计,定这个内容,是想分享与记录总结一些自己的学习经历。并且达到不断提升自我的目的。

写作和英语,我觉得这个是大家都应该掌握的基本技能。我们从上小学开始,我们就学习语文,学习写作文,这个也应该是人人都会的技能,虽然,我们不要求人人都能靠写作,靠英语为生,但是,能够熟练掌握写作和英语,不管是在生活中还是在职场都是加分项。所以就把这个内容定下来了。

摄影,通俗讲拍照,也是现在人人都喜欢的事情,虽然我们不需要成为非常专业的摄影师,但我们看见好风景或者美食时,我们都会想总要通过自己手里的手机或者相机记录下这一刻。

其次,我选摄影这个内容,还是一个目的,就是,我现在想通过自学摄影技术为设计来采集一些一手素材。如果我想做一些属于自己的创造作品的话,我就必须要采集一些独一无二的素材。

所以,我就这样把【有课网】的主题内容确定了,并且这些技能,也是在很长一段时间里,不会被淘汰的技能,也是可以人人学习的技能。

这个就是开发需求,自己给自己定一下,这个时候,你就可以来想,你的要做的网站,主要想给你的用户呈现什么内容?是分享编程知识,还是分享一些自己的见闻奇事,还是其他什么内容?

当然,你也可以,你想学习什么内容,然后放自己最不擅长又最想学习的内容,这样你可以一遍学习,一遍定期营运维护你的站点。

另外,我们在一些事情的时候,我们先不要考虑去帮助或者改变别人,我们首先要考虑帮助自己,解决自己的问题,然后再考虑去解决别人的问题。因为改变自己比改变别人来得容易。

2)我不会设计,应该怎么做?

这个设计对与很多人来讲,估计有点难,但是我们没有必要必须去设计一套完整专业的设计稿,你的目的就是练习自己写代码,熟悉整个开发流程,所以,这个设计,你只要会用笔,都可以完成。

首先,在纸上用笔画个大概布局,具体放什么内容,可以自己先列一个大概。

1、我的站点,是要什么颜色,可以在纸上写下来,是红的,蓝的,橙色?选个自己认为好看喜欢的颜色即可。

2、站点,菜单栏,需要放几个内容,具体哪些内容。

3、我想为站点做个banner,轮播图效果,那轮播图片放几张,是通栏还是跟页面宽度一样等等等,

4、站点主体内容放什么,怎么布局,是两栏式,还是三栏式,都有哪些内容,等等。

5、站点底部版权的部分,放那些内容

总之,这些都可以通过一张纸一支笔来完成,其实,就是画个草图,把布局与内容记录下来。

这个也非常简单,也不需要你非要精通PS,然后出一个专业的PSD设计稿。

再说了,我们是自己做站点,暂时没有,因为,你的目的就是练习写代码。

如果在这个时候,你没有一点想法的话,你还可以去网上借鉴一下别人的个人站点,看看他们都是这么呈现自己的个人站点,你也可以突出自己的一些个人特色。

3)开发

开发,你的强项来了。可能很多人有会说,我只是在企业负责某块内容,并不了解怎么去进行前后台内容的衔接,所以,这才需要你去进行开发一个个人独立站点。

前面,你已经在纸上画过大体框架了,这个时候,你就根据前面的图纸,用你的方式将其实现出来就可以了。

如果你写前端,那后台你就可以采用一些常用的CMS来实现,如,DedeCMS,Wordpress,PHPcms等,反正,这个也很多,但是我建议你采用,大家比较常用的CMS,因为这样的话,当你遇到问题,你可以在网络上找到解决方案。

如果你只写后台,那你前台也可以交给一些前台框架来处理,比方我们熟悉的Bootstrap,jQuery UI,layui,H-ui,SUI等,至于他们的优劣与相应特色,你可以自行去做一下功课,我在这里只是提供一个思路。

4)测试,营运,维护

这个测试阶段,就是将页面完成了。然后除了测试外,你还需要购买一个域名,与一个服务器,把你写好的代码,发布到你购买的服务器上,通过服务器做域名解析,绑定以后,就可以通过域名来访问你的站点了。

这个时候,你需要做的就是营运与维护的工作,至于怎么去做,也是需要去简单学习一下,如果你喜欢,你也可以深入学习,毕竟这个也是专业领域的东西,我对这个涉足不多,就不多说了。

如果后期,涉足多了,我也愿意与你一起分享探讨。

养成不断总结分享学习的好习惯

这个也是我经常提的一点,我们需要坚持学习,不断进步,哪怕今天只是学习了一个很小的知识,经过不断积累,那也是可以提高你的工作效率。

1)养成收集分类的习惯

当我们想不断提升自己技能的时候,我们就需要写大量的代码来进行不断的练习,但是在我们的工作中,可能很多都是重复性的工作内容,所以这个时候,学习收集各种案例效果来进行练习,就显得非常重要了。

在这个时候,做的练习,主要是为了不断的学习新技巧,达到进一步提升自己的目的。同时也可以了解自己,到底掌握了多少东西。并且掌握到了一个什么样的程度。

学习的内容,我们不仅只是输入,同时也需要做一定量的输出,这个输出,可以是一个Demo,也可以是一篇图文教程,或者就是一篇纯文字的总结。

在这个时候,如果我们能够通过文字把一个东西说的通俗易懂了,让那些外行人都能听懂听明白了,就说明你已经掌握了。

2)做好打一场持久战的准备

坚持,是最难的事情,当你把它变成一种习惯后,做起来就会容易很多。

你在做一件事情的时候,练习一天两天,或者练习一个两个,都是非常容易的事情。但写代码,也是一门熟能生巧的技术,所以需要我们坚持,不断的去练习。

同时,还不要忘记多去看一些理论,原理,职业修养方面的图书,来进行自我综合能力的提升。

因为在职场上,我们还是需要跟人打交道,不仅只是跟机打带交道,所以,我们不仅需要写机器可以认识的语言,我们还需要说,大家都能听懂明白的人类语言。

3)养成总结的习惯,因为你提交的不仅仅是一份代码

不断的总结自己的开发经验,不但可以梳理自己的知识体系,还能对一些不太牢固的认知进行重新验证与强化。经过每次的练习,都要对自己进行一次全面的总结,不断的分享自己的练习作品或者经验总结,可以和更多的人交流想法,也可以得到别人的指点。长此以往,你会发现自己收获到的不仅是专业的提升,还有一种阳光积极的心态,就会不断验证那句话:“越努力,越幸运”!

以上分享仅代表个人多年以来练习提高和工作方式的一些点滴经验,不足之处望留言指正,期待大家一起进步!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章