内容简介:作为一个原生Android开发,一路走来经历了Android 开发作为“安身立命”的资本,在面对如今“移动要凉”的氛围,我们在沉住气本文主要讲述本人在 Java Web 开发上的学习选择,希望能在一定某些方面帮到大家,这里也并不是安利转型,
作为一个原生Android开发,一路走来经历了 Java 、 Koltiln
的洗礼;在 “原生要凉” 的氛围下学习 Cordova
、 ReactNative
、 Weex
、 Flutter
等跨平台框架;之后又在 “大前端” 的口号下 延伸 到 React
、 Vue
等前端框架的学习;最终面对 “全栈” 的诱惑,又撸起了 SpringBoot
的 Java web 开发。
Android 开发作为“安身立命”的资本,在面对如今“移动要凉”的氛围,我们在沉住气 “纵向进修” 的同时,有时也希望 横向拓展 自身的能力,而 Android 开发在这一方面有着先天的优势, Java 和良好的 开放 氛围给予了我们更多可能。
本文主要讲述本人在 Java Web 开发上的学习选择,希望能在一定某些方面帮到大家,这里也并不是安利转型, “全栈” 并不是一个绝对的褒义词,每个人都对 “全栈” 的范畴有着不一样的定义。但是了解过后, 至少能在需求上和“后台”发生争执时怼得更有力不是 ?:rose::chicken:
赶紧进入主题吧
一、背景
了解下有利于消化
这里快速说下 Java Web 开发的背景,作为Android开发,在学习后台开发上无疑用 Java 做敲门砖是成本较低的选择,Java Web 与 Android 之间的相互转岗也屡见不鲜。
起初的 Java Web 开发并没有明确的前后端之分,如今也依旧存在前后端不分离的项目,只是随着时间发展,从项目管理维护、开发职责和效率的考虑下,慢慢的有了前后端职责之分。
对于Android开发而言,后端通俗而言就是 写restful接口 的。
Java Web 大致发展历程如下图,从 Struts2
开始的 MVC 模式,再到 Spring
的 控制反转(IOC)和切面编程(AOP) ,再到 SpringBoot 全家桶,其门槛也在逐步降低。对于这个历程感兴趣的可以自行了解下,后续主要推崇 Spring
大家庭。
发展历程
事实上对于 Android 开发而言, Spring
并不会是一个陌生的概念,其 核心理念之一 IOC (也称依赖注入) 和使用逻辑与 Dagger
如出一辙 ,所以在入门时 《Spring实战(第4版)》 这本书相信会 Android 开发者是不错的选择。
二、框架选择
Spring Boot 全家桶快到碗里来
Java Web 的世界同 Android 一样存在各类框架,也许一些前辈们都建议不要从学习框架开始,但是我个人而言更习惯从 实用性 切入: 选择一个主流框架学习,挑一个开源项目对照实践,之后完成一个小项目躺坑,最后才开始深入去学习感兴趣的点。 毕竟万事开头难,如果一开始太过枯燥,难免让人“把持不住”。
在 Spring 断断续续的学习中,主要接触了 SSH
( 曾经 ) 和 SSM
( 如今 ) 两种组合开发框架,至于怎么选择,你懂的。
- SSH:Struts2 做控制器(controller) + Spring 管理组件 + Hibernate 负责数据库。
- SSM: SpringMVC 做控制器(controller) + Spring 管理组件 + MyBatis 负责数据库。
作为 Android 开发者,如果你使用过或了解过 Dagger ,那么理解和使用 Spring
并不难。通过各类注解如 @Contorller
、 @Service
、 @Configuration
等去标明类的用途,通过 @Autowired
去注入使用的方式,相信会让你倍感亲切。
如果说 Spring
是类似 Dagger
的 注入和管理实体 的容器框架,那么 SpringMVC
就是基于 Spring
功能之上添加的 Web 框架。
对于 Android 开发而言, MVC
肯定是不会陌生的,实际上后台开发人员通常就是 写个 Controller
提供个 Model
给你 。而 Hibernate
和 MyBatis
都是持久层框架,属于能方便使用如 MySql 等数据库的 ORM 框架。
MVC
如果说 Spring
和 SpringMVC
是 Android 开发者较友好的选择,那么 Spring Boot
则是你的“绿色通道”。 Spring Boot
又称之为全家桶,因为它集齐了各类常用的开发框架,同时降低了 Spring 开发的门槛,更是简化了各种配置过程,而且 Jetbrains 大家庭支持它!
所以现阶段而言,个人认为 Spring
、 SpringMVC
、 SpringBoot
是 Android 开发者学习入门 Java Web 的不错选择。
先理解 Spring 设计模式,再学习 SpringMVC Service/Controller 等的开发,最后使用 SpringBoot 快速搭建 Web 项目。当前这只是一个开始,后续的路诸如还有:
- 数据库的学习: mysql、mongodb
- 持久层框架的学习: hibernate 、mybatis
- 缓存框架的学习: ehcache、redis
- 安全权限框架的学习: shiro、spring security
- 分布式框架的学习: dubbo、spring cåloud
- 代理服务: Nginx
毕竟学无止境,有一技旁身,至少不至于孤陋寡闻。
三、开发 工具 选择
“不用IDE,文本编辑器”一直是大神的标配,但是“懒惰”使我进步,所以一款好的 IDE 可以让人更舒服的过度到入门。
Android 开发在 IDE 在选择上其实也很有优势,因为 Android Studio 本来就是基于 Jetbrains 的 IDEA Commutity Edition 二次开发的。
都是一家子,选择 Jetbrains 全家桶中的 IntelliJ IDEA 作为开发工具,对于 Android 开发者而言,从快捷键、界面UI、调试方式等都可以实现“无缝切换”和降低了学习成本。至于 eclipse 么,反正它已经没有出现在我视野中很久很久很久。
同时,IntelliJ IDEA 对于 SpringBoot 和 Maven 的支持也同样优秀哦。
全家桶之部分Show
四、最后
本人在学习新的东西时,也经常面临一些选择的问题,特别是在想学 Web 服务开发时,经历多年的发展后台服务生态百花齐放:php、java、golang、phython、nodejs 等容易让人在临门一脚时犹豫不决。 (毕竟 php 天下第一)
除开业务需求和环境限制,我个人是比较推崇低成本拓展的。万事开头难,“三过门而不入”的坚持并不是每个人都有,而能把现阶段所掌握的去衍生去其他的能力,是比较稳定的技术增值。 “贪多嚼不烂”,先有深度,再有宽度,望共勉!
本文或许不是什么干货,更多是提供 Android 开发者,在学习 web 开发时的一种选择建议。有备无患,毕竟不知道何时就用上了。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 程序员的快速开发框架:Github上10大优秀的开源后台控制面板
- 飞特后台管理系统 3.0:不仅仅是后台,还有商城模块
- Linux 后台运行任务 nohup 结合 & 用法以及如何精准查找进程并 kill 后台任务实践
- TIMO 后台管理系统 v2.0 发布,带来全新的项目结构,支持前后台模块分离部署!
- 电商后台设计:系统消息
- APP后台架构设计
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Node.js硬实战:115个核心技巧
【美】Alex R. Young、【美】Marc Harter / 承竹、慕陶、邱娟、达峰 / 电子工业出版社 / 2017-1 / 109.9
《Node.js 硬实战:115 个核心技巧》是一本面向实战的Node.js 开发进阶指南。作为资深专家,《Node.js 硬实战:115 个核心技巧》作者独辟蹊径,将着眼点放在Node.js 的核心模块和网络应用,通过精心组织的丰富实例,向读者充分展示了Node.js 强大的并发处理能力,读者从中可真正掌握Node 的核心基础与高级技巧。《Node.js 硬实战:115 个核心技巧》总共有三部分......一起来看看 《Node.js硬实战:115个核心技巧》 这本书的介绍吧!