做个静态页面,搞个域名,租个服务器,FTP一上传,或是前端弄个模板,后台弄点简单业务逻辑,建十个八个表,一月也没几个人用,就这样的应用确实没啥技术含量。技术往底层挖,web开发累死人。有句话就是不会的人永远不知道自己差在哪里,不知者无惧
因为国内还是外包公司居多,这些公司的开发大多都是crud,搞完交差可以不顾高并发等优化问题,做的人多了给外行人感觉就是很简单的样子。如果只是为了完成任务,不用考虑性能和兼容性,那开发一个网站或者app是很简单的,crud足够满足,稍微有点经验的就可以搞定,但如果你想做大,比如网站要扛住TPS上万甚至更高的流量,那这个里面要研究的东西就多了,数据库、消息队列、缓存、搜索引擎、网络模型、数据一致性问题等等,每一块想深入了解都是一个无底洞,牵扯到底层的东西越复杂,还需要了解操作系统甚至硬件方面的知识,所以叫简不简单完全看个人想把东西做成什么样,只想应付工作的很简单,想做大做好做完美的那是相当有挑战性的。
web开发需要知识面很广的,需要一直学习。
1. 服务器方面:高并发集群,Serverless,K8S、Linux运维等。
2. 后端开发:开发语言、算法、框架、API开发、业务逻辑等。
3. 前端开发:VUE、小程序、H5、Nodejs等
4. 设计:字体图标、PS、Logo、UI设计等
5. 产品:产品文档、开发需求文档、项目管理、高保真原型等。
每一项精通都不容易,得花大量时间不断学习。
知识都是入门易,精通男。
前端开发四年多了,也听说了不少这样的话,每当听见这些话时,心里就只有一个念头:自己的技术还不行,太菜,让人抓住了把柄,成王败寇,胜者为王,败者借口。
自我认识有问题我们常常在业界看到有很大的薪资差异,拿3000和30000的人比比皆是,那为什么会有这么大的差异,差在哪里?
农村俗话说:跟上好人走好路,跟上死鬼跳家绳
●①差异是拿3000多的人旁边全是3000-5000的人,不管你问他啥,基本没有正能量的事,他们能说月薪30000没问题吗?不能,几乎给出的答案全是负能量,这样的人多了,回答也就多了,然后慢慢的就被同化了,进而导致大部分人随波浊流,自我放弃,失去了追求,切记远离这等人。
●②而有些人确切看到了拿30000的人,他们才不管那些拿3000人说的话,只会埋头苦干,不断打磨自己,把自己的技术做精,学更多的知识,只会越来越强,最后成为别人口中的大佬,收入自然很高,当然在你身边,这类人还是比较少,要向这类人学习。
●③自己本身就菜,井底之蛙不相信外面的天真的很大,他们自己就没搞清楚什么是web开发,说白了,他们就是那些干着日复一日的工作,就是切图,天天用着那点技术,难怪别人说前端就只会切图,其它的后台的人全办完了,你们还干啥?然而你去问问那些拿年薪的人,他们的答案是啥样,他们搞的绝不是切图这么简单。
全栈工程师想把前端的技能树点亮,那并非一件容易的事,如果全部点亮进阶到全栈工程师,那么你就是神一样的程序员,大厂招聘全栈工程师,最低薪资已经给到40W+。
【这个由前端延伸出来的行业,是现在最吃香的?】
全栈工程师熟悉多种语言,同事具备前后端开发能力,从需求分析到产品开发,测试,部署,发布流程都全部熟悉。
在著名的问答网站Quora上,有一个关于全栈工程师的高票回答:
全栈工程师是指,一个能处理数据库,服务器,系统工程和客户端所有工作的工程师,根据项目的不同,客户需要的可能是移动栈,web栈,或者原生应用程序栈。
●假如你是一个web开发者,如果你即能熟练的做前端,又能做后端,也能独自完成一个电子商务网站的产品开发,那你就算是全栈工程师了。
●换种方式说,全栈工程师的思维方式更开阔,更新颖,更综合。强大的学习能力体现在方方面面,并且不局限于特定的知识或技能。
全栈工程师需掌握的技能我收集了一线大厂招聘需求,归纳出web全栈开发需掌握的技能
以经典web开发体系,用Nodejs+JavaScript/css/html成为学习路线是我们前端开发人员走的路线。
这些你掌握了吗?以下是我们前端开发常用的技能,你掌握没?
●移动开发
●小程序来开发
●响应式网站开发
●浏览器兼容
就这些先问问那些说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开发绝非没有技术含量,千万不要把这两个概念混淆了~
我是一名程序员,更多精彩请关注:空心小窝头
笔者是做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应用架构师,来回答一下这个问题。欢迎关注我,了解更多IT专业知识。
基本上各个行业都要开发Web网站,Web开发技术含量低的观点在有些应用场景是对的。
这类Web应用以静态信息展示为主要目的,比如企业官网,私人站点等。因为没有动态交互功能,所以开发以html和css为主,静态页面维护可以配合使用后台管理工具,这些功能都有成熟的开发框架,统称为cms内容管理系统。
如果网站具有复杂的业务逻辑,比如电商、直播等系统,不仅功能复杂,还要支持高并发、高可用,技术指标要求非常高。大家都知道的淘宝网站,没人说技术含量低吧。
用户看到的Web应用只是展示出来的客户端,后台服务才是系统的核心所在。为了满足越来越复杂的需求,现在Web开发功能和架构都日趋复杂,多层架构,数据中台,动静分离,集群化部署,自动化运维,等等。比如淘宝双十一,为了应对流量洪峰,后台服务要进行很多技术升级改造。
举一个真实的例子,在参加虹口科创组织的创业活动时,遇到一个朋友,投资一百万开发出来的陌生人圈子社交APP,页面刷新延迟超10秒,这样的用户体验怎么做市场推广呢?
分析下来,问题在于后台接口服务,为什么Web接口延迟时间这么长?前端APP刷新页面时,调用后台服务REST接口读取信息,直接读取数据库,多表关联查询。作为基本的数据层,如果不使用缓存系统,稍微做一些市场推广,不需要多少用户,就能引起系统雪崩。