在APP开发过程中,经常会听到“前端”和“后端”两个词,二者都是APP开发中必不可少的两个角色。同属“代码大神”,二者有什么样的区别?分别负责什么样的工作内容?哪个更吃香、更重要呢?本期小犇就让前端和后端进行一次全面的大PK,结果您来评价。
一、含义
1、什么是前端
前端开发主要涉及网站和 APP,用户能够从APP 屏幕或浏览器上看到的东西。比如APP或者网页上的特效、布局、图片、视频,音频等内容。前端的工作内容就是将美工设计的效果图设计成APP和浏览器可以运行的页面,并配合后端做APP和网页的数据显示和交互等可视化方面的工作内容。
2、什么是后端
后端开发即“服务器端”开发,主要涉及软件系统“后端”的东西。比如,用于托管网站和APP 数据的服务器。后端是指用户看不见的东西,通常是与前端工程师进行数据交互及网站和APP数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。
二、技术PK
前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js 、Webpack,AngularJs,ReactJs,VueJs等技术。
后端开发从性质上讲后台开发编程语言的种类比较多,java,python,php,C#等等都可以作为后端开发语言。包括但不限于Struts spring springmvc Hibernate Http协议 Servlet Tomcat服务器等技术。
二、工作内容PK
前端工程师主要的工作职责分为三大部分,分别是传统的Web前端开发,移动端开发和大数据呈现端开发。Web前端开发主要针对的是PC端的开发任务;移动端开发则包括Android开发、iOS开发和各种小程序开发,在移动互联网迅速发展的带动下,移动端的开发任务量是比较大的,随着5G标准的落地,未来移动端的开发任务将得到进一步的拓展;大数据呈现则主要是基于已有的平台完成最终分析结果的呈现,呈现方式通常也有多种选择,比如大屏展示等。
后端工程师的主要职责也集中在三大部分,分别是平台设计、接口设计和功能实现。平台设计主要是搭建后端的支撑服务容器;接口设计主要针对于不同行业进行相应的功能接口设计,通常一个平台有多套接口,就像卫星导航平台设有民用和军用两套接口一样;功能实现则是完成具体的业务逻辑实现。
三、知识技能PK
在知识技能方面,前端开发涉及到的内容包括Html、CSS、JavaScript、Android开发(采用Java或者kotlin)、iOS开发(采用OC或者Swift)、各种小程序开发技术(类Html),随着前端开发任务的不断拓展,前端开发后端化也是一个较为明显的趋势,比如Nodejs的应用。
后端开发通常需要根据业务场景进行不同语言的选择,另外后端开发的重点在于算法设计、数据结构、性能优化等方面,在具体的功能实现部分可以采用Java、Python或者PHP等编程语言来实现。对于不少中小企业来说,后端开发通常都会采用开源的开发平台,这样就可以把精力集中在业务处理上,通常应用级程序员就可以解决问题,相应的开发成本也会有大幅度的下降。
有的人认为,前端很好学,后端不好学。也有的人认为,前端不好学,后端好学,归根到底还得看个人兴趣。后端入门难,深入更难,枯燥乏味,没有太大成就感,看一堆业务逻辑代码。前端入门简单,先易后难,能看到自己做出来的展示界面,有成就感。前端和后端两者工作的内容和负责的东西是完全的不同的。
如果美学和产品感觉方面的东西对你来说更重要,那么你可能会倾向于选择前端技术。如果你关注的是提高网站、应用程序或软件的效率和响应性,那么你的目标可能会是后端开发。前端设计师所做的很大一部分工作是让用户在移动或者 PC 屏幕上看到的东西看起来很棒,而且很容易使用。相反,后端开发人员只关心如何编写干净的代码。
前端和后端是一个共同体,就像鱼和水,谁也离不开谁,二者协同才能保证产品的的流畅稳定的使用。