跨站点脚本怎么打开
东芝笔记本电脑AX/940LS开机慢?
笔者是做WEB开发的,也接触过客户端开发,app开发等一些开发项目,对于这个问题有一些个人的观点,如果喜欢,欢迎交流。
为什么会有人说WEB开发没有技术含量?
WEB开发也就是网站开发,之所以会有人认为WEB开发没有技术含量,是和现如今网上WEB项目太普遍了有关,网站是用户最容易接触到的,也是接触最多的互联网产品。网上的很大一部分的网站都只是用来展示信息,一个公司也许没有自己的客户端产品,也许没有自己的app产品,但一定会有自己的网站系统,这和web项目的开发成本低,速度快,传播方便,用户使用成本低有关。这也就造成了大部分的WEB项目的开发确实不需要太深的技术,但这也就只能说明大部分web项目开发没有技术含量,并不能说明WEB开发没有技术含量。要想弄清楚WEB开发到底有没有技术含量,那就要看看WEB开发涉及到哪些技术了。
WEB开发所涉及到的技术
WEB开发单说开发阶段,先不涉及部署运维所用到的,主要包括前端开发和后端开发。
前端开发 涉及技术比较多,且随着网络和设备的发展,前端技术更新较快,持续学习成本较高。要想成为一个好的前端开发人员,需要学习前端标准/规范,切面页技术,编程语言,前端框架库,移动端技术,安全技术,调试工具,开发工具等多方面的知识,具体内容可参考下图:
后端开发:当前主流的后端开发技术有java,php, python等多种语言,除了基础的数据处理,接口开发,还包括数据库方面的技术等多种技术,具体内容可参考下图。
除了这些开发技术外,还有大数据方面的技术,运维方面的技术等,这里就不一一列举了。
哪些WEB项目技术含量较高
要想知道一个WEB系统技术含量怎么样。要从系统的功能复杂程度,用户访问量,系统稳定性等多个方面进行分析。下面列举了部分代表性的高技术含量的WEB系统。
以淘宝,京东为代表的电商类系统。
以头条,知乎为代表的论坛类系
以斗鱼,战旗为代表的直播类系统
总结
综上,只能说有的WEB系统技术含量较低,WEB开发所包含的技术还是比较广,比较深的。要想开发一个复杂的WEB系统,或者说要想成为一个高级的WEB开发工程师,还是需要付出很大的学习成本的。
为什么网上有人说WEB开发没技术含量?
我是一名程序员,对这个问题非常感兴趣,而且多年前的我,也曾经有过这种认知。接下来我就来回答一下这个问题吧~
一、部分童鞋可能对WEB开发定位不是很清晰
部分童鞋对WEB开发的定位还停留在页面方面纯前端网页开发的层面,一些标签、一些属性、再做一些样式就可以了。因为入门比较容易,所以会被认为没有技术含量。其实,并不是这样的。做过WEB前端开发的童鞋都知道前端的水有多深,单单一个兼容性问题就难倒了多少人,尤其是基于IE浏览器开发的场景下。虽然在移动应用逐渐普及的今天,在特定的行业和特定的领域,依然活跃着IE浏览器的身影。
二、优秀的框架降低了开发的门槛
本人主要的编程语言是java,那么就结合J2EE标准以及java生态下各优秀框架来简要进行说明。
1、J2EE是目前最为流行的企业级软件标准,并且提供了一系列标准组件。在这套规范下,我们可以通过servlet组件来很便捷的处理WEB请求,使用jsp组件对页面进行动态的渲染,使用JDBC与数据库建立良好的交互。J2EE不需要开发者关注传输层协议(这部分工作由WEB中间实现),仅需要关注应用层实现即可。或许,就是这种便捷,让很多人对WEB开发产生了误解。
2、SSH时代,我没有赶上struts1的时代,但是刚刚参加工作时,SSH(Struts2+Spring+Hibernate)算是最为流行的组合了。开发人员不但不需要关注传输层协议,而且连很多模板化的操作也都省略了。更重要的是在这个时代,基于MVC分层的思想已经有了很好的实践,各层分工明确,从而降低了开发的难度。
3、SSM时代,我认为是Spring系列的崛起的时代。Spring MVC以其更加简洁/安全的优势快速抢占了Struts2的地盘(记得当时有很多公司都将原Struts2项目使用SpringMVC进行了重构),此外,MyBatis(前身是iBatis,也是非常不错的框架)也将Hibernate逐步挤出C位(Hibernate框架配置多、问题多,自己还搞出一个HQL。使用起来比较繁琐,即便是拥有丰富应用经验的老司机都无法很好的驾驭)。
4、SpringBoot时代,要问现在最火的框架是什么,当然非SpringBoot莫属。SpringBoot对编码、配置、部署方面都做了响应的简化,而且官方还提供了非常方便的脚手架(虽然我几乎不用)。SpringBoot进一步的降低了编程的门槛。
可以看到随着框架的发展,WEB开发的门槛越来越低,从而吸引了大量的从业者。但是门槛和技术含量其实并没有多少联系。
三、技术含量
如果仅停留在CRUD工程师这一级别的话,那确实没有什么技术含量,会模仿,能CV就足够了,但是CRUD的级别其实只相当于游戏中的“新手村”级别,并没有窥探到开发世界中的奥秘。随着对业务量的增量,对系统可靠性、可用性等特性的考验越严峻,在进行系统设计、开发时也不再是以能够满足业务需求为目标,实现业务需求只是最基础的工作,更多的时间和精力将会投入到非功能性需求当中去。WEB开发门槛随不高,但是却非常值得深入学习,在充满各种挑战的场景(想想天猫淘宝的双11、12306的春运、除夕夜的红包)面前,CV就是一个渣渣~。
综上所述,WEB开发只是门槛比较低,通过一段时间的学习和培训后可以快速上手,但是WEB开发绝非没有技术含量,千万不要把这两个概念混淆了~
我是一名程序员,更多精彩请关注:空心小窝头