现如今,有越来越多的小伙伴,进入IT行业,从事web开发工作。那么今天,我们一起来了解下什么是web开发。随着近年来,互联网技术的飞速发展,再加上移动端应用的突飞猛进,可以说真正让web站在时代的风口,在飞速前行。
Web开发与桌面应用程序开发
1、 桌面应用程序开发
![791f813b2eaf72660f1a69c7bc039376.png](https://i-blog.csdnimg.cn/blog_migrate/1ad5dcd28a5a8f4c95648f30f6e1148d.jpeg)
桌面应用程序开发,是一种比较基本的传统的软件开发方式,是基于C/S架构模式的软件体系,我们比较熟悉的有photoShop、QQ、浏览器以及我们曾经常玩的CS单机版游戏等等,通过软件包安装的方式集成到我们操作系统中这些软件,都属于桌面应用体系范畴。使用到的开发语言有C、C++、Java、C#等,在桌面应用程序开发过程中,我们常常需要考虑的是语言的跨平台性以及软件的多平台支持,比如常见的操作平台windows、Linux、MacOS。我们开发一款桌面应用软件,一般需要考虑对这几类操作系统的支持。
2、 Web应用程序开发
![66ba837aa704b1140cdf6dc580e20e3f.png](https://i-blog.csdnimg.cn/blog_migrate/286927848ec688e77fac72980c9b2386.jpeg)
Web应用开发主要是建立在B/S架构模式下,衍生出来的一系列web应用程序,即主要是基于浏览器的应用程序开发,这也是web应用程序开发的基础,比如淘宝、京东、当当网等。Web开发在近年来,随着本身技术的突破以及移动设备的普及,基于web领域的开发,也出现了明确的岗位职责分工,一个web互联网产品中,基本上会分为web UI设计、Web前端开发以及web后端开发。
对于大型的互联网公司,还会分独立的Web架构开发组,专门负责web框架的维护更新与迭代。
Web前端开发
![fd7e02ac8a8a4e0163e71a86cba192c8.png](https://i-blog.csdnimg.cn/blog_migrate/3bbb5cb37040346320dbc997fd699533.jpeg)
Web前端开发用到的编程语言主要有javascript,以及伴随有标记性文本语言html和样式渲染方式CSS。以及近年来衍生出来的一批优秀web前端框架,使web前端在应用构建方面的效率得到显著提升。另外nodeJs的出现,越来越多的web前端开发人员开始走入服务端编程领域,甚至在一些项目中扮演着web全栈开发的角色。
Web后端开发
![9aaa07be475f07c14883887d709e3858.png](https://i-blog.csdnimg.cn/blog_migrate/ccf682296926556264f2d2a07615496f.jpeg)
Web后端开发,主要用到的语言有java、php、python等,当然随着nodeJs的兴起,也成为近年来服务端开发的另一种选择,当前nodeJs更多的是面向web前端开发人员。
Web应用程序开发是基于浏览器的,浏览器本身已经解决了多平台性兼容的问题,所以web开发一般是无需考虑跨平台所面临的兼容性问题。但是,web开发领域需要解决的有另一类问题,那便是多端兼容以及融合的问题,虽然web是基于浏览器的,没有跨平台的问题,但多端的快速发展,是web开发领域的新问题,即PC端、移动端以及当下比较火热的小程序端。
![735acec5d580d081b4365f36dca506df.png](https://i-blog.csdnimg.cn/blog_migrate/d5a75083672ad81b922ac7a41215f7bf.jpeg)
无论是桌面应用程序开发还是web应用程序开发,从设备端来讲,都可分为PC端程序与移动端程序。而这两端的支持与兼容性都是两种开发模式下,必须要考虑与解决的问题。一个桌面版应用程序开发,在PC端需要考虑兼容window平台、Linux平台、MacOS平台;在移动端需要考虑兼容Android操作平台、IOS操作平台
![e2b0d70e8e408d3fe6ffd89e1d4a4b83.png](https://i-blog.csdnimg.cn/blog_migrate/253336127c6278ba5857bbf9212ca8db.jpeg)
一个web应用程序开发,同样需要兼容PC端、移动端,以及个别互联网产品,需要考虑以及处理不同浏览器差异性的兼容性问题。
嵌套web的混合应用开发以及当前日益成熟的PWA应用开发,无疑更广的推进了web领域的开发,真正让web进入了全方位的开发领域,甚至一些传统的桌面应用,也在日益的向web靠拢。
![ad38296afda09566a3420ae621ad680c.png](https://i-blog.csdnimg.cn/blog_migrate/1a96f7877d6211b63f5bfcf5533d161d.jpeg)
一方面随着webAssembly技术的日益突破,传统大型桌面应用进入web或许在不久的将来成为现实,另一方面,传统桌面应用的全方位发展,也在一定程度上,在内部集成web技术。
所以说,从某一方面来说,当今的互联网产品中,基本随处可见web开发的身影,同时,我也相信,桌面应用程序与web应用程序的融合也将是未来软件发展的一大趋势。技术革新永远是改变生产生活方式的第一推力。
那么,在当下以及未来,对优秀web开发者的要求会是怎样的呢?
![e3b3e5ab1b661c8dc58348a6aef698cb.png](https://i-blog.csdnimg.cn/blog_migrate/0be94819f742df8d2c589bf86f3d1313.jpeg)
首先,打破web开发界限,能够在应用程序开发中,提供端到端的完整解决思路,而不是一端的解决方案;
其次,突破浏览器编程的束缚,考虑系统性以及应用性能、安全性、国际化等整体性的解决方案;
最后,打破一贯的固有编程思维,要真正具备驾驭软件架构模式以及长期演进以及迭代维护的设计模式与思路。这些将是一个优秀web开发者或者优秀web设计者的必备条件。
变得永远是技术本身,不变的永远是推动技术本身不断革新。