欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

还记得吗?你为什么要做前端!

来源: 开发者 投稿于  被查看 40122 次 评论:71

还记得吗?你为什么要做前端!


你为什么要做前端?

第一篇 初始

“你为什么要做前端?”

我问她。

“因为感觉写出来的东西可以直接看得到,可以写漂亮的网页。

不像后端一样,写出来的东西根本就看不见摸不着。”

她说的很对,可是我很久之后才明白。

等我明白了之后,却再也找不到她了。

我是一个后端工程师。

而我是一个后端工程师的时候,我从来都没觉得前端有什么可以吸引我的。

我的全部心思都在架构,逻辑,数据。

她说的这些看不到的东西,反而是我觉得最深刻,最能让我着迷的事情。

前端?那叫肤浅。

所以,她说完这些之后,我什么都没说,就是笑笑。

我教她做的第一个任务,就是做一个卡片的轮播效果。

那时候,她仅仅会写一些CSS而已。

第二篇 指引

没多大会儿,她告诉我说,她不会,做不出来,不知道轮播该怎么写。

我笑了。

这很简单啊,每一个卡片抽象出来,变成一个卡片类,卡片类里有自己的属性,标题,图片,摘要,跳转链接,等等等等,但是不重要,总之就是卡片。

然后第二步就是把所有的数据加载成一个卡组。

比如说我们现在有了100条新闻信息,当前窗口只能展示3个,可是这100条你虽然看不到,我们依然会把它放在卡组里去。

有了这个卡组,就决定了卡片轮播的顺序。那么剩下的第三步更简单了。

只需要决定哪三个卡片可以展示就好了。

我们可以称之为窗口卡组。

窗口卡组可以根据窗口的长度来决定展示的数据。默认展示就是第1个,第2个和第3个-假设只显示3个。

然后,点击右侧的按钮就很简单啊。

两种切换方式,一种是一张张的轮播,那就是把窗口卡组+1,取数据卡组的 2,3,4就好了。如果是全屏轮播,就取窗口卡组的长度就好了。

//在此我向大家推荐一个前端全栈开发交流圈:864305860 突破技术瓶颈,提升思维能力

当然要写成这么一个东西,还是要考虑一些简单的封装。

比如说,轮播到没有数据了,是从第一个开始循环,还是直接下一个失效?这些是不是也应该做成可以定制的?

比如说,当前轮播的是卡片,我们是不是可以认为卡片的里面存在的内容其实跟轮播没有关系?只要他是我们的卡片类,怎么展示完全可以交给用户自己来决定?

比如说,数据的初始化从哪来?我们是只接受Json格式的数据,还是说也支持一下从后端请求数据,直接封装好?

这些问题哪些该做,哪些不该做,都是要在需求中反复评估好的,这也是为什么我们要做方案评审的原因,毕竟,实现一个结果会有很多很多种方案的。

所以我经常说嘛,方案评审不是说一个方案行不行得通的判断题,而是多个方案对比的选择题,你必须对所有的方案的好处和坏处都理解,这样才能算得上方案评审,对不对?

//在此我向大家推荐一个前端全栈开发交流圈:864305860 突破技术瓶颈,提升思维能力

我说了好多。

她听的津津有味。

我问:听懂了么。

她说:没有。

我。。。。

好吧。这就是前端妹子。

想了想,我说:

这样,给我亲一口,亲一口我就手把手的教你怎么写。

第三篇 进展

是的。前端不需要懂太多数据结构,也不需要太多的数据模型,更没有复杂的框架体系,在几年前,前端需要懂的东西,真的不太多。

可是我一直对能做出来的眼花缭乱的东西,不感兴趣。

可是她可以。

她很快的从只会写简单的布局,变成了可以写自适应和响应式的布局。

轮播卡片的事儿,也在我手把手教她之后写出来了。

当然,很多我觉得可以想到,应该抽象,但是没有抽象出来的东西都没做好。

事情总是要慢慢来嘛。

然后我教她写Ajax。

写的第一件事就是键盘精灵。

“所谓键盘精灵,就是用户敲一个字母,就向服务器端发一个请求,服务器端根据用户输入的请求,返回可能的提示。”

“比如说,你敲一个暗,我是服务器端,我马上返回一个暗恋暗灭大人。”

“我知道你在担心什么,是不是觉得每敲一次代码,都向服务器端发一次请求,会很耗费时间?

不不不,你要这么想,讲方案,讲性能,必须要先知道数字。

我们是程序员,程序员不会有很快,或者是很慢去描述,只会说,多少毫秒。

所以,我先问一下你,发一个请求到服务器商,正常来讲,这个应该是多少毫秒?”

“嗯嗯。不知道没关系,打开F12,看一眼。是不是很快?

对的,我才可以做的这么快,哈哈。其他人都不行。

你看,几毫秒就可以了。几毫秒的负载,对服务器端没什么影响,所以这个功能这么实现没问题的。

而且,这只是一个简单的搜索功能而已,不是一个最常用的,不用怕,就算是负载大了,我们也可以在后端用其他办法维护。

网络慢的问题不用担心,用户的网络既然慢,那么他对响应时间就应该会有预期嘛。”

“所以,我们这次做的这个键盘精灵呢,希望是一个组件。这个组件最好是有几个功能。

第一个,可以去定制服务器端的接口,只要服务器端可以返回我们认可的格式,就可以。

第二个,可以定制显示的内容。反正显示的内容是一个下拉列表,里面展示 什么内容,都没有必要写死啊,虽然我们是做的股票,但是也许在未来会做其他的啊。

这个就是组件化,只有这样,你写的项目越多,积累的公用组件越多。”

然后她写出来了。磕磕跘跘。

这时间离她从懂一点点CSS,也就是一个月多一点而已。

我从未教过她JS语法,而她也从未怀疑过我说的话是不是正确。

//在此我向大家推荐一个前端全栈开发交流圈:864305860 突破技术瓶颈,提升思维能力

反正,我教什么,她学什么。

我跟她讲Http的请求,讲数据结构,讲算法。

我觉得,这是前端要学习的,也是有意思的事情。

根据UI做切图?做一个弹出框,做一个表单校验?提交一个请求给后端?

这些都不是我喜欢的前端啊。

我只是在想,在以后,我会不会再同样如此用心的教另外一个人?

不。

我看了看她。她在阳光下,笑的很温暖。

第四篇 分歧

可是我们最终还是有了分歧。

我说我不喜欢CallBack,可不可以把异步相关的,能改成同步的就全部用同步?

不要在CallBack里写代码?

我说我不喜欢在JS代码中看到有html和CSS的代码,也不喜欢看到有常量。

可不可以我们在功能上区分的很清楚,什么是View,什么是Controller,什么是Model?

她说:我看了其他开源框架的源码,都没有这么分过啊,全都是混在一起的。

我不知道说什么。

难道说,我比所有的开源框架的作者都厉害,只有我懂代码,别人都不懂,其他人写的都是渣渣?

“只要跟着我,你就必须这么写,如果有一天,你不需要我了,随便你怎么写,好么?”我对她吼了。

她没说话。

然后没多久,她走了。

我也很久没说话。

不想说话。

第五篇 离散

我按我自己的想法去写自己喜欢的代码,直到我遇到了Angular。

而她也开始用AppCan,backone等等等等。

后来就慢慢的变成了RequireJS,GruntJS,React,Vue全家桶,Nodejs等等等。

//在此我向大家推荐一个前端全栈开发交流圈:864305860 突破技术瓶颈,提升思维能力

做前后端分离的时候,我和她一直在争执,要不要把接口合并。

为什么不允许合并,什么时候才可以合并。

前端后端分离让WEB程序员,变的可以和Android和IOS一样的工作方式了。

要控制路由,要有过滤器,要有拦截器。

可是我和她的分歧也越来越大。

我还是喜欢Angular,她喜欢React.

我和她之间隔了一条看不见的河,河水全是墨色的,根本不知道有多深。

可是我知道,河底深处,有一朵白色的花。

她说要学后端。我坚决不同意。

“后端不是你现在半年一年就能学会的。”我说。

“我就是随便学学。”她说。“哼”

不要学NodeJS,我说,要学就学Python和Go。

也不要学PHP,我说。

(前端全栈开发交流圈一起吹水聊天学习交流:619586920)

可是学前端的意义倒底是什么?

我已经很久没见过她了。

我把她领到前端入门,在入门之后她有了自己的喜好。

对她来说,前端的意义是什么?

我不知道。

在很多年之后,我还是不知道。

我不喜欢她写的那些代码。

没有设计感。

有时候,我觉得代码就像是一个精心打造的工艺品。

每一个细节,每一个器件,都是反复衡量,仔细打磨的工艺品,我们看源码,实际上是透过源码去和源码的设计者,穿越时空的对话。

仿佛是,我们都遇到了同样的问题,然后我给出来了我的解决方案,源码设计者给出来了他的,然后我皱了眉头,去考虑两种方案的好坏。

随着对源码解读的过程,我慢慢懂了设计者。

就好像我希望,她能懂的我一样。

而我,是不是懂的她?我是不是在心里一直觉得,前端,就是无脑的代言?

我是不是一直在拿自己是后端而有一种莫名的优越感?

我不知道。

直到有一天,我突然看到有人说。

前端人号写无聊的业务逻辑算什么?做一些酷炫的效果,这才是前端程序员应该干的事儿!

原来。。。这个世界上还有人会这么想么?

我不知道。

第六篇 原来

原来 并不是业务逻辑,架构体系才是最好玩,最有意思的事情么?

那么前端的意义倒底是什么?

前端需要做UI,做兼容性,不需要考虑太多的性能,更没有分布式的概念,数据的持久化接触的比较少,也不会有太多的算法。

前端的变化可能会比较大,所以在扩展性上要考虑一些,另外就是复用程度,大部分都要考虑复用以提升开发效率。

还需要和后端定接口,讨论哪种方案更合理。从工程化的角度来说,前端也慢慢的变成了相对稳健的架构体系。

只是前端倒底代表什么含义?

我说:给我讲讲AngularJS的源码吧,我虽然一直在用,可是并没有认真去看过。

她看着我说:不好。

我的脸色慢慢变僵。我知道,我和她之间的河,越来越宽,越来越深。

“除非,你给我亲一口,我就给你讲一段~” 她笑。

我突然间觉得河底的花开了。

整个世界都温暖起来了。

只要她在我身边,前端和后端意义倒底是什么, 重要么?

“我想教更多的人写代码。"我突然对她说。

她说:“好啊,你说什么我都听你的。就是不许先亲再教了!”。

我笑了,不会。

其实我哪里是在教她写代码,而是带着她,去我心里的世界走一遍。

而我,却没有勇气去看她心里的世界是什么。

但是现在,我不可以亲一下教别人写代码了,其他人可以啊。

修真院里各种师兄师弟师妹师姐,可是基情无限啊~

第七篇 真和假

全文完,纯属虚构,瞎扯淡,广告时间开始。

在此我向大家推荐一个大美女可乐:2869729584
加她是可以领取前端资料以及后端资料!!!
突破技术瓶颈,提升思维能力

结语

感谢您的观看,如有不足之处,欢迎批评指正。
获取资料

用户评论