zoukankan      html  css  js  c++  java
  • 漫谈前端,咱来随便吹吹水

        对于很多从事IT行业的人来说,就不得不赞叹其发展的速度,可能一项技术用个两三年就有点过时了,这其实也是整个互联网大环境下迅猛发展的缘故,马云曾经说过,很多人觉得互联网已经发展得差不多了,貌似现在已经非常非常智能了,其实真正互联网开始发展到如今也仅仅才十几二十年,仅仅是开始,未来也许不可想象,犹如哆啦A梦的口袋,永远不知道什么时候它就掏出一个让你眼前一亮,为之赞叹的东西,而对于前端来说,可能发展要比后端来得更为迅猛,更加快速,可能以前仅仅靠着html+css+一丢丢框架经验就能安稳找到工作,但现在呢?去看看开源社区,去看看github时隔不久就冒出一个开源框架,node,vue,react,更有无数较小的框架如ionic,bootstrap,特殊应用型的three...以后还会更多,特别是H5,css3这些基础的东西大升级,less,sass,webpack各种极易维护的新技术及程序预编译处理机制,以及越来越多的开发者,应用商放弃万恶的ie(请暂时允许我这么说= =),对于来发者来说会越来越友好,开发者有更多的时间用在对前端更深层的思考上,整个前端,整个交互的界面,整个展现在用户观感中的那个视野,会越来越震撼,VR,AR这些其实仅仅是开始,不仅仅是体现在绚丽多彩的特效,更多的是体现在用户在用这个产品的时候,会越来越舒服,怎么舒服怎么来,会让你的懒癌无限期的延长,会的。

        讲到这,可能你会问,诶,jquery呢?跑哪了,它不是也是个框架么?是的,它是,但发展到现在来说,它更类似于一种生态,一种可以解决80-90%问题的生态语言,很多时候它就像是javascript一样亲切,甚至对于现在大多数开发者来说,jquery用的要比js多得多,因为写得更少,做得更多,css中的less(为什么叫less呢,想想= =),也是一样的,兼容这个东西呢,得考虑,特别是有历史遗留的,而jquery生态就是一个非常好的选择。

        对于每一位前端开发者来说,入门很简单,你会个标签+一点点css样式布局即可(这是ie曾经统治多年的那个时代,当然也才仅仅几年,十几年前之间),但你会发现知识的更新速度快到你难以想象,新技术层出不穷,新的开源框架团队一个接一个,优秀的开源框架更是一箩筐,你会发现有点跟不上或者甚至说会的那点技能很快就不值钱,你需要不断的学习和更新知识,是的,能码代码的很多,码高质量代码的也不少,但能完全明白怎么码,要码什么,用什么码的就不多了,这些都先不提,单单论知识面吧,前端现在干什么事呢?它要干或者说它已经可以干UI+前端+后端这样的事了,当然了,肯定没另外两个专业的干得好,但很多时候对于一些项目来说,够用就好,你会说前端怎么干后端的事呢?阿里这个肯定是大伙都熟知的,双11这样的时候,在12:00那一秒钟踏入的那一刻,你可以想想那中间的选单-购买-支付有多少?也许对于用户的我们来说就简简单单一个点点点,但是呢你得这样想,全国,甚至全世界都在这样点点点,这中间得产生多少的交互?这个峰值能让这世上绝大多数的服务器集群奔溃,阿里怎么解决呢?可能到这你已经猜到了,是的就是用前端框架node.js来布局架构的,那这个node是不是特别牛呢?也不是,只是它的处理机制刚刚好,也非常适用于这种形式的高并发处理。

        那前端又是怎么干UI的事呢?专业的UI,优秀的UI前端没法比,也不可能去比,术业有专攻,那UI核心的那些是什么呢?(本人仅仅是名小小的前端,说得不对请见谅)我认为有不少,而图形的处理,色彩及页面风格的调配算是其中的两方面,而前端呢?不用去干这些,已经有很优秀的前端框架给我们提供好了,里面的主题风格也许不是很优秀的,但就目前来说也还是相当的漂亮的,这里再说下,技术的选型永远不是这项技术多么的牛逼,多么的炫酷,而是这项技术适合,它适合所以选它,这个是什么呢?你应该也猜到了,是的,它就是bootstrap,当然还有它的一些子集比如zui,当然这个给我最大的启发不是它方便了前端多少多少的开发,而是它的栅格系统,移动互联网到来之前,那个时候大家用的都是PC端,网站什么的也不用考虑多终端的兼容,多终端的自适应,所以大家就用px啊,百分比啊,用的都感觉很不错,反正能用,对用户使用影响不大,那当手机端来了的时候呢?前端的开发者们意识到,写单单一个前端样式已经不足以应付越来越多种屏幕的显示方式,如何在这众多的终端中让整个的用户体验,那个展现在用户视野中的东西尽可能的达到观感上的最佳,是一个必须且迫切要解决的问题,这时候前端开发者们怎么做呢?(我根据事实来猜哈)都是程序员,那多种应用啊,有多个条件啊,肯定必须得if判断啊,这必须的啊!当然前端不叫if,它有个很高大上的名称叫多媒体查询,当然这个比较麻烦的是你还是需要写多个样式,外联的内联的不管,反正你得写多个,这就很烦了,就像明明我只需要执行一句,你一个if就得多一个代码块,好多个if甚至变成一大串,当项目结构很庞大复杂的时候,你会发现得多了很多很多的原本不需要的样式表,有问题就得解决,那这时候前端的那些大神们又怎么做呢?嗯,你想象下,我不论你这个屏幕,这个设备,或是渲染这个html的这个浏览器窗口有多大,我都给分成多少格,Excel(Excel这个软件其实是一个非常笨的东西,为什么呢?它的行列数其实都是固定的,好像以前比较低级的版本是512列*1024行,稍微高版本的好像到65535了,只不过这个数很大,绝大多数人用不完的而已,连多少列多少行都得是固定的,是不是很笨?当然它是个很了不起的应用,也有可能是里面软件底层架构冲突。)各位应该都用过吧,一个个的格子,但不同的是这里的格子数列数是固定的,可能你屏幕大,界面很宽,那又怎样?只不过拆分成的这些单元格大一些就是了。那组成这些前端页面的基本组成单位不再是定死的固定像素了,这在大多数的时候就可以很好解决了(当然还有rem这个也是很优秀的多终端显示的方式),也许你会说bootstrap这个是给低级开发者或是给外包用的,我不能说你没有道理,但也许几年后bootstrap这个东西不适用了,但里面栅格系统这个思想,这种模式一定还会存留,会延续,变成推动前端开发的一艘动力航母,一直不断的向前。

        前面好像谈了一大堆貌似还没谈到前端到底是怎么干UI的事,好吧,漫谈,我们是漫谈,别在意细节,总之一小段话概况就是,项目一般开发的前工序流程是UI把产品经理跟客户达成一致的需求还原成一系列psd图,这些psd图里面是已经具备好后续整个系统的风格及色彩搭配了,前端再把这些图还原成页面就可以了,不用考虑UI的事,那bootstrap这个东西呢,它就是把一些常用的psd图中的东西先弄成一个个具有特定风格的组件供前端调用,前端可以直接同产品经理来对接,虽说没有了psd图,但最终完成的界面风格及色彩搭配也不会很差,还很漂亮(就目前来说),对于终端用户来说,其实他们是不专业的,甚至他们连一些需求其实有时候都不是特别清楚,可能我们弄了个方案给他们看,诶诶诶,对对对,就这样的,嗯,还是重申一句,技术的选型不是要多苛刻,要多高级,多新,多炫酷;够苛刻,够高级,够新,够炫酷就可以了,强调一个够字,由于要做多终端的兼容适配,没法像以前一样1px都不放过,那不现实,意义上也不是很大,可能对于UI来说,黄金比例就必须是0.618, 0.62,甚至0.6181都不行,但在用户的眼中,其实它区别真的不大,0.62可以,0.63也可以,当然并不是倡导乱来,得有原则,底线是不能触碰的,但上面预留的这个操作空间是可更改的,这不仅仅是节省开发成本,更重要的是极快的提高了开发效率,一个产品抢先发布那么几天,可能最终的结果就完完全全不同,这就是很多时候经常听到的一句调侃,嘿,程序员,程序猿,又得加班了,没办法啊,赶项目进度啊,你要先人一步啊,但项目任务还是那么多,要减少时间只能拼命挤,这是没办法的。这也就是为什么要组件化开发的原因所在,代码的复用性高,意味着你不用重新写,不重新写不是代表你不会,这是一个误区,不会和不重复做一件会做的事是两码事,当然,组件化也给了很多前端新人便利以及不思进取的温泉,这种只能说因人而异吧。

     

  • 相关阅读:
    web前端的发展态势
    AngularJs 简单入门
    css代码优化篇
    git提交报错:Please make sure you have the correct access rights and the repository exists.
    Activiti工作流框架学习
    遍历map集合的4种方法
    js设置日期、月份增加减少
    Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    webservice_rest接口_学习笔记
    相互匹配两个list集合+动态匹配${}参数
  • 原文地址:https://www.cnblogs.com/dorseych/p/8870905.html
Copyright © 2011-2022 走看看