app后端开发-前端开发和后端开发
后端指的是运行在后台并且控制着前端的内容,它主要负责程序设计架构思想,管理数据库等。后端更多的是应用到数据库并且进行交互以处理相应的业务逻辑。它需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等方面。它涉及到的动态语言如PHP、ASP、JSP等。
后端开发基本知识框架
1.后端开发语言
后端开发语言众多,不同领域使用的语言不同,目前比较流行的后端开发语言有:Java、PHP、python、Asp.Net、Node.js、C/C++、C#、Golang、Ruby、Perl等等。但开始你的后端开发之旅前,你必须学习一门后端开发语言。
对于刚开始进入后端开发的初学者,我建议你选择任何脚本语言,因为他们有很多功能,可以让你快速起步。如果你有一些前端知识,你可能会发现 Node.js 更容易(还有一个很大的就业市场)。如果你已经是后端开发并了解一些脚本语言,我建议不要选择其他脚本语言,而应该尝试使用Java或Golang等,它一定会帮助你延伸思维,并将你的思想带到新的视野。
2.数据库
数据库是存放数据的仓库。数据库主要分为关系型数据库(Oracle、MySQL、Microsoft SQL Server、Sybase等)和非关系型数据库(MongodDB、Redis、Hbase、Cassandra等),二者在存储方式、存储结构和查询方式等方面有所不同。你需要根据语言或需求选择一种数据库并了解如何将数据保存在数据库中。主流搭配有PHP+MySQL,Asp.Net+ Microsoft SQL Server,Java+ Oracle等
3.框架
框架通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。根据选择的项目和语言,可能需要也可能不需要框架。每种语言都有几个不同的选项,看看选择的语言有哪些选项可供选择,然后选择一个。下面我们着重讲讲Java和Python。
4.网络知识
在后端开发中需要关注很多的安全问题,这些安全问题可能来自恶意的攻击,也可能来自系统本身的安全性和健壮性不足。所以我们需要了解一些网络知识来规避常见的安全漏洞,处理各种网络攻击事件。包括但不限于权限管理、防火墙配置、日志系统、异常处理、shell脚本、各种安全攻击方式等。
使用Java进行后端开发
MVC设计模式简介
MVC软件设计模式即模型(Model)-视图(View)-控制器(Controller)的缩写,是一种软件设计典范。前端发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
1.Java后端开发简介
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论。Java具有分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java是大部分企业最受欢迎的后端开发语言,不过java开发难度较大、量级重,所以适用于企业级大型项目的开发。
2.Java后端开发主流框架技术
2016年之前SSH框架集(Struts框架+Spring框架+Hibernate框架)是Java较为流行后端开发框架组合;近年来开始流行使用SSM框架集(Spring框架 + SpringMVC框架 + MyBatis框架)来搭建项目的主体框架,至今多数Java项目仍使用SSM组合;而目前SpringBoot则是Java最热门的框架,多数公司的新项目都将是SpringBoot;另外SpringClound框架也开始越来越受开发者青睐。技术是永远在变的,不要纠结,直接学一个,明白了,相应的另一个看看文档随随便便也就上手了。
2.1SSH
SSH框架集是Struts框架、Spring框架、Hibernate框架的一个合成框架,Struts进行流程控制;Spring进行业务流转;Hibernate进行数据库操作的封装。目前市场上比较流行的框架中也有它的身影。
2.2SSM
SSM框架集由SpringMVC 、Spring、MyBatis整合而成,SpringMVC相当于SSH中的Struts,负责进行流程控制;Spring进行业务流转;MyBatis相当于SSH中的Hibernate,进行数据库操作的封装。
2.3SpringBoot
看完上面的介绍你会发现,传统的SSH,SSM开发会有大量的配置文件,需要手动的去整合三个框架,并且需要注意各种配置和兼容,后期的维护难度也很大。而Python,Node.js,PHP等脚本语言也越来越流行,能快速开发的一个网站,这时候SSHapp后端开发,SSM开发就显得相对笨重了。
所以Springboot开始变得流行,SpringBoot 简化了Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。SSH和SSM就好像开手动挡的汽车,需要踩离合,挂档,给油车才能开动。而SprinBoot就好像自动挡的汽车,给油就走,踩刹车就停。
2.4SpringCloud
Spring Cloud则将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,基于Spring Boot风格进行再封装,进一步简化配置和实现原理,最终给开发者留出了一套使用Python进行后端开发
Python后端开发简介
Python是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。相对于其他后端开发语言,Python有着语法简单,代码开发效率非常高,可移植性强、可读性强、易于维护等优点
1.python后端开发主流框架技术
Python后端开发有三大主流框架 :Flask、Tornado、Django
1.1Flask
Flask是一个轻量级的可定制框架,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
1.2Tornado
Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个理想框架。
1.3Django
Django是一个开放源代码的Web应用框架。采用了MVC的框架模式。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。
总结:
Flask:微型框架,体量小,扩展能力强,自由度高,开发效率高,并发能力弱。适合用于小型应用开发;如果开发团队能力强,也可以用来做大中型应用
Django:大而全的框架,采用MVC结构,符合现在的主流,开发效率高,扩展性强,并发能力弱,适合应用用于访问量不大的大中型应用
Tornado是异步框架,并发能力相对好,可拓展性强,开发效率介于flask、django之间,适合用于开发长连接多的web应用。比如股票信息推送、网络聊天等。
总结:作为一名合格的后端开发人员应该掌握各种各样的框架和库,还可以将它们集成到应用程序中app后端开发,以及构建代码和业务逻辑中去。