.

初学编程,前端后端开发哪个更有优势

北京手足癣医院那家好 http://news.39.net/bjzkhbzy/210115/8593631.html

初学编程,除了要去对这个行业进行调查了解以外,最重要的是要做选择。编程不仅仅就是写代码做程序就完了,要去看今年最好的软件开发技术是哪个,最优秀的编程语言是哪一种,它们又是被应用在哪些领域里?

当你有这些疑问的时候,可以来看这篇文章,这篇文章详细介绍了前端和后端开发技术的对比,从使用编程语言的不同,到对开发技能的要求,甚至未来的发展规划都有详细的介绍。

什么是前端开发?

前端开发主要涉及到网站和APP,用户能够从App、浏览器上看到的东西都属于前端。

网站和移动App的前端

网页上以及移动App上的内容、图片、段落之间的空隙、按钮、图标等,包括因为移动设备的屏幕可触摸,对触控手势做出的响应等都属于前端或是前端的活动部分。

做出这些东西会用到Ionic、Swift、Kotlin、Bootstrap、Angular、Vue、JQuery、React、JS等开发技术。

物联网前端

任何能够连接到互联网的设备都是物联网设备。物联网设备都需要提供某种界面供用户操作这些设备,组成这种交互界面的就是物联网的前端。

虽然严格来说,物联网设备并没有真正的前端,但他们都装有固件,与移动App的前端类似,而这种固件可以用各种编程语言来开发。

什么是后端开发?

后端开发又称为“服务器端”开发,主要涉及软件系统后端的东西。例如用于托管网站和App数据的服务器、放置在后端服务器与浏览器及App之间的中间件,都属于后端。

在屏幕上看不到但是为前端提供支持的东西就是后端。

网站和移动App的后端

网站的后端涉及到搭建服务器、保存和获取数据,以及用于连接前端的接口。移动App的后端则包括云平台、自己的服务器或MBaaS。

后端开发会使用到Ruby、Apache、Nginx、PHP、MySQl、MongoDB等技术。

物联网后端

云平台是物联网后端的一个重要组件。大部分的物联网设备极度依赖云服务器,物联网设备主要通过服务器在上传、处理和下载数据。高端物联网的后端甚至涉及人工智能和机器学习。

首先是从技能、职责、独立性以及目标方面做比较

然后是前端和后端的技术栈上面的比较

前端的工作内容

前端开发主要做的是用户所能看到的前端展示界面。前端从开始的切页面,到现在复杂的前端单页应用,node服务端应用,移动端react-native等,前端的技术更新速度远远超过服务端的更新速度。

前端覆盖的场景已经越来越广,从传统的前端,延伸到服务端,工具链,移动端等。前端入门容易,可以直接从主流框架开始学习前端,但是很容易成为API型程序员,即各类框架和库都会用,但是不够深入。

后端工作内容

主要做的是用户不可见的逻辑功能等模块。会基本的CURD就能从事后端工作,但是不长久。不过如果肯努力学习,愿意去积累的话,比较容易构建技术壁垒,拉开差距。

前端开发需要掌握的技术

1.熟练掌握前端开发技术(HTML5、JS、JSON、XHTML、CSS3),了解各项技术的相关标准

2.掌握Ajax异步编程,能够写出高性能、可复用的前端组件;

3.对OO、MVC、MVVM等编程思想、前端框架有深刻理解,熟练掌握一个前端框架(常用前端框架Vuejs,AngularJS,React,Bootstrap,QUICKUI,移动端有:FrozenUI,weUI,SUI,MUI,AUI)了解其原理(框架有很多,选择两三个主流的框架,熟练,深度了解才可以);

4.善于Web性能优化,可访问性、对SEO等有良好的体验;理解表现层与数据层分离的概念、Web语义化(这些也是在找工作中,很有用的加分项);

5.了解前端安全机制,熟悉HTTP协议以及浏览器缓存策略;

6.熟悉常见JS开发框架源码实现,(如:prototype、jQuery、Mootools,Ext,Dojo,underscore、YUI、Kissy),至少熟练一种(当然也不要去选一些用的人很少的框架,要明白大项目都是团队做,不能自己搞一套);

7.拥有良好的代码编写,设计文档撰写的经验,熟练使用Git等版本控制工具;

8.对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案;如IE6/7/8/9、Firefox、Safari、Chrome;

9.具有较高的审美(这个很重要,多去见识一些模板,高端的项目,就能感觉到有多大的差距)

后端开发需要掌握的技术

1.目前多数企业要求对服务器端高并发,大数据量处理经验(简单的说就是优化服务器处理高并发事务的能力)

2.精通java,php,jsp,servlet,javabean,JMS,EJB,Jdbc,Flex开发,对相关的工具、类库以及框架非常熟悉,常用后端框架如SSM(Spring+SpringMVC+MyBatis)框架集,Velocity,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解(至少熟练掌握一套后端框架);

3.至少熟悉一种关系型数据库,如:mysql,oracle等。熟练使用oracle、sqlserver、SQLDevelpoer,PLSQL,MySQLWorkbench等常用的数据库管理工具,对数据库有较强的设计能力

4.熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑

5.精通面向对象分析和设计技术,包括设计模式、UML建模等

6.熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力

7.熟悉部分前端知识

前端发展规划

前端是一个较新的行业,年之前是不存在专业的前端工程师的。在年,互联网全面进入移动时代才开始重视起前端工程师的重要性。

前端领域发展很快,各种新技术新思想在不断涌现,随之而来的是前端开发的内容也在增多,除了传统的web前端开发以外,目前Android开发、iOS开发、大数据展示端开发以及第三方开发(各大平台的小程序等)都逐渐并入到了前端开发团队。

另外随着Nodejs的应用,目前前端开发后端化也是一个趋势,所以当前的前端也成为“大前端”。从就业的角度前端对于基础薄弱的人比较友好,但是前端工程师首先是软件工程师,基础还是很重要的,要想提高自己的竞争力,就要进一步丰富自己的知识结构。

后端发展规划

后端工程师主要负责数据逻辑存储和复杂逻辑的设计,学习能力对于后端开发人员来讲是一个很重要的能力。

后端开发主要分为两种,一种是应用级岗位,一种是研发级岗位。后端开发对程序员的基础有要求,操作系统、算法设计、数据结构、数据库等等决定了后端开发人员的开发能力和上升空间,特别是研发级岗位的程序员。

后端开发更重技术,只要有了过硬的技术,走到哪都是各大企业互相争抢的人才。

前端的位置基本只有高或低两种,没有中间位置,而企业急缺的、高薪难求的前端都是资深前端工程师。

而后端,以Java为例的话,比较稳,需求量大,通用性高。如果是为了找个高薪的工作而选择IT行业的话,一般业内人士推荐的都是Java和C++,但是C++学习周期长学习难度大,属于厚积薄发的那种。

前端需要天赋,注重交互体验,跟浏览器打交道比较多,工资待遇根据自己的能力,如果能做出高级优美的页面,公司给的薪水肯定就高一些。

后端则偏向于实用主义,更关心的是如何编写出实用的代码,做核心技术栈的都是后端也是因为后端专攻技术的比较普遍,且技术能力很扎实。

当然最重要的是兴趣是什么?选择一门职业,不仅是为了糊口,也是为了想要搞出一门事业出来,没有兴趣,在这个行业能不能坚持就是一个大问题,何谈发展前景呢。




转载请注明:http://www.abachildren.com/xgyy/4141.html