为什么学习web前端开发?

本文主要分析web开发的相关方向及技术,为想投入web开发的同学提供下参考。什么是WEB开发说到WEB开发就不得不提两种架构模式,B/S架构和C/S架构。互联网发展初期,大多数系统都是C/S架构,C代表客户端,S代表服务器,常见的软件,比如QQ(WEB版的不算),都是采用这种架构模式。这种架构模式通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以

大家好,又见面了,我是你们的朋友全栈君。

本文主要分析web开发的相关方向及技术,为想投入web开发的同学提供下参考。

什么是WEB开发

说到WEB开发就不得不提两种架构模式,B/S架构和C/S架构。

互联网发展初期,大多数系统都是C/S架构,C代表客户端,S代表服务器,常见的软件,比如QQ(WEB版的不算),都是采用这种架构模式。这种架构模式通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。B/S架构(浏览器/服务器)是随着Internet技术的兴起而出现的,它是C/S架构的改进。在这种架构下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier(三层架构)架构。B/S架构利用不断成熟和普及的浏览器技术,实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。

C/S架构的特点很适合单机或局域网范围使用的系统,对于开发跨越整个互联网的分布式系统非常困难,而且由于需要安装客户端,系统更新与组件版本控制就成了一个大问题。此外,不象B/S架构中只需考虑服务器端的问题,在C/S架构由于多用户同时访问服务器,各组件间的调用和依赖关系复杂,在处理多线程访问共享资源,事务处理等方面必须同时考虑客户端与服务器端,吞吐量受到很大的限制。所以现在的软件首选B/S架构,也就是浏览器/服务器模式。浏览器显示的内容是网页,所以web开发可以简单的理解为网页或网站的开发。

WEB开发分类与区别

人们通常将WEB分为前端和后端,前端相关的职位有前端设计师(UI/UE),前端开发工程师,后端相关的有后端开发工程师。这里我们只讨论前端开发工程师和后端开发工程师(欢迎对设计感兴趣的同学补充)的区别。

  • 技术栈区别

看各大招聘网站上,公司对前端开发工程师的要求莫过于精通HTML,CSS,JS,有良好的交互设计能力等。再看公司对后端开发工程师的要求,比如Java开发工程师,要求精通Java,熟练掌握Java网络编程;熟练运用SSH等开源框架;熟悉互联网开发模式,清晰理解缓存,缓存设计和模式;精通TCP/IP、HTTP等网络协议,精通socket网络编程,有用Java做大访问量高压力网络应用的经验;熟悉Linux/Nginx,熟练配置维护Apache,Tomcat,Resin等应用服务器,掌握shell/awk/python等系统脚本工具;熟练掌握SQL语句,熟练使用数据库(MySQL,Oracle);掌握Html/Javascript/Css/Ajax 等页面技术;熟练使用Eclipse/Maven/Ant/SVN等软件开发工具;WEB架构的性质决定服务端开发的复杂性,服务端的复杂性决定后端开发人员要掌握的技术。

用3年时间学习前端开发,多数同学都能够成为一个优秀的前端开发工程师,同样,用3年时间学习后端开发,多数同学只能算是入门。前端开发人员需要掌握HTML,CSS,JS,对于其他框架的学习也只是熟悉下框架的用法。这三种语言本身也很简单,很容易上手。对于后台开发人员来说,开发语言的多样化,技术框架的选择,平台性能的了解都是需要经验积累的。比如java,你需要精通Java语言,熟悉jdk源码,熟悉JVM性能优化,熟悉SSH框架,熟悉Mysql,熟悉各种技术,这些都不是短时间就能上手的。

前端开发入门门槛低,学习曲线跟服务端开发语言先慢后快相比,趋势是先快后慢。注:后慢是因为后期的学习已经超过前端开发的范围,比如SEO,服务器端知识,HTTP协议,这些学习本身就是慢的过程。

  • 钱景&前景

由于互联网行业的极速扩张,各大公司对前端工程师的需求非常旺盛,自然钱景旺旺。加上HTML5规范的最终定稿,必定引起web的热潮。NodeJS在服务器端的延伸也使JS大放光彩。反观后端工程师,培训机构输出一批批Java,PHP工程师,即使跟不上企业的需求,也基本能满足后端工程师市场的需求(不过,高端的,有经验的后端工程师是非常抢手的)。刚出道的前端工程师钱景和前景远好于后端工程师。

总结

对于想短期内进入互联网行业,想有个不错的钱景和前景,跟后端开发相比,前端开发是个不错的切入点。

理由如下:

  • 前端开发入门门槛低,但需求旺盛,特别是有经验的前端开发人员。

  • 前端开发短期可以积累足够的经验,比如3年,而后端开发想要积累同等程度的经验至少需要5年。

  • 前端开发技术变化慢,HTML5定稿都需要8年!而后端开发技术更新很快,各种框架,架构模式变更迅速,需要时刻学习。

  • 前端开发技术发展越来越成熟,且适用范围更广。比如HTML5可以替代原生APP(性能方面有待考究),JavaScript能够用于数据库操作(MongoDB等NoSQL支持JS语法),NodeJS能够让JavaScript在服务器端运行,只要会Js语法不用后端开发语言照样开发服务端程序。

  • 前端开发技术支持全栈式开发,不需要后端开发语言的支持。

还有什么不去学习前端开发的理由?NO!

更多阅读:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128185.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java局域网组建与维护题_局域网组建与维护习题(有答案).doc

    java局域网组建与维护题_局域网组建与维护习题(有答案).doc局域网组建与维护实用教程一、填空题计算机网络中常用的三种有线通信介质是双绞线、同轴电缆、光纤。局域网的英文缩写为LAN,城域网的英文缩写为_MAN_,广域网的英文缩写为WAN。计算机网络的功能主要表现在硬件资源共享、软件资源共享、数据资源共享。决定局域网特性的主要技术要素为媒体访问控制方式、拓扑结构、传输介质。计算机网络是现代_计算机_技术与通信技术密切组合的产物。局域网常用的拓扑结构有总…

    2022年10月25日
  • 语音信号处理知识点

    语音信号处理知识点语音信号处理过程的总体结构:语音输入–>预处理–>数字化–>特征提取预处理:对信号适当放大和增益控制,并进行反混叠滤波来消除工频信号干扰数字化:进行A/D转换特征提取:用反映语音信号特点的若干参数来代表语言 共振峰:当把声道看成一个发音的腔体的时候,激励的频率达到他的固有频率,则声道会以最大的振幅来振荡,即产生共鸣,这个频率称为共振频率(forman…

  • lspci 安装_ipswme下载的系统如何安装

    lspci 安装_ipswme下载的系统如何安装在原版的busy-box做出来的文件系统中,lspci命令只有两个选项:ynq>lspci-hlspci:invalidoption–‘h’BusyBoxv1.20.1(2012-11-2713:37:12MST)multi-callbinary.Usage:lspci[-mk]ListallPCIdevices-m

  • 如何恢复MacBook或iMac的出厂设置

    如何恢复MacBook或iMac的出厂设置不少mac小伙伴,都或多或少有过想把macbook或imac恢复出厂设置的经历。本文简单介绍了恢复出厂设置的办法。在此之前,先确认是否尝试过首先修复Mac?如果遇到软件问题,可以通过在macOSRecovery中简单地重新安装macOS来解决许多问题。只要在使用磁盘工具时不擦除硬盘驱动器,就可以保留所有数据!当然,如果由于要出售Mac或要擦除所有数据而要完全重置Mac,则另当别论。如何macOS恢复在重置Mac的过程中,您需要多次输入macOSRecovery才能完成这些步骤。所以首先进入ma

  • STemWin学习:关于窗口消息的基础知识

    STemWin学习:关于窗口消息的基础知识刚开始接触emWin,记录一下我自己感悟的心得。首先从GUIBuilder小工具创建的窗口文件讲解。//USERSTART(Optionallyinsertadditionalstaticdata)#defineBUTTON_SIZE_X20#defineBUTTON_SIZE_Y20#defineBUTTON_START_X55#define…

    2022年10月29日
  • ES6基础:箭头函数

    ES6基础:箭头函数ES6基础系列(三)箭头函数简要分析一个为什么会有箭头函数,它的意义是什么?

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号