安卓项目会不会用到像 Java 那样的 ssm 或者 spring cloud 或者一些其他的 Java 流行框架

2018-12-10 10:58:13 +08:00
 ShirleyLuo

学习安卓大半年了,以前是学 Java 的,转过来之后,刚开始写代码就发现,安卓不用搭环境,比如 ssm 框架,配置信息什么的,就是直接开始逻辑代码,一直就很模糊,所以请教一下,安卓跟 Java 的区别和联系,还有,安卓项目会不会用到 Java 的框架?

7481 次点击
所在节点    Android
30 条回复
ctracer
2018-12-10 11:20:27 +08:00
安卓不用搭环境? 流行框架?
MVP/MVVN/google 架构组件了解下
rxjava/retrofit/dagger/glide 了解下
插件化热修复了解下
kotlin/flutter 了解下
glaucus
2018-12-10 11:32:14 +08:00
不用框架?要么你项目太简单,要么你太厉害 - _ -
HongJay
2018-12-10 11:35:23 +08:00
楼上的激动了吧。。Android 的框架和 ssm 的差别还是有的吧
loshine1992
2018-12-10 11:46:09 +08:00
@HongJay #3

因为 Android sdk 就是一个框架,写 AndroidManifest.xml 就是配置文件。。
RoyL
2018-12-10 11:49:29 +08:00
安卓开发本身不就是 Application Framework 么。。。。
honeycomb
2018-12-10 12:54:32 +08:00
还有 AndroidX
youngxhui
2018-12-10 12:58:43 +08:00
jetpack 了解一下
ilaipi
2018-12-10 13:23:16 +08:00
android 端的框架扮演的角色是不是应该类似与 react 这种框架的角色?

android 端正常来讲就是个客户端,还是要和后端来交互的吧,所以数据库应该不需要。感觉 spring 的 ioc 概念应该可以用,但是其它的就不需要了。
wly19960911
2018-12-10 13:31:42 +08:00
Android sdk 就是框架了,里面包括了创建项目各种 task 的流程。

主要是你没有从后端转换到客户端的概念上来,基于 spring 的后端是因为后端系统的庞大和相互耦合的各种工具,需要梳理掉整个项目的流程和优化性能和开发。

客户端的任务相对于庞大的后端逻辑要简化不少,主要是组件之间的互相调用为主(画 UI ),并不没有后端这么耦合。但是随着而来的是状态的管理是一个相对耦合的东西(我是初级的,如果有说错轻喷)
maninfog
2018-12-10 13:43:30 +08:00
安卓和 Java 的联系就是安卓官方根据众多因素选择将 Java 作为应用开发语言,就像 iOS 应用选 OC 一样。至于安卓和后台的差别就类似于前端和后台的差别了,安卓也属于大前端范畴。
ShirleyLuo
2018-12-10 13:45:57 +08:00
@ctracer orz,膜拜,刚开始学安卓,只有 mvp 在最开始去了解了一下,好像跟 Java 的 MVC 差不多,但是没有具体去实现,也可能是刚开始还不懂,所以就没去用,所以现在的代码都是一堆在 mainactivity 里面,略混乱,但是,也因为刚开始写安卓,所以代码都不多,一个主类几百行,但是现在还是应该开始写好看点了哈,,所以决定用 mvp,然后 mvvp 是么看过,google 的也没看过,rxjava/retrofit/dagger/glide,听得比较多,但是也也没有具体学过用过,kotlin/flutter 都是最近的新框架,也是没用过,插件化热修复连听都没听过,长路漫漫啊。
ShirleyLuo
2018-12-10 13:49:21 +08:00
@wly19960911 所以说就是安卓相对来说是前段的东西,逻辑不多,所以不需要,是这个意思嘛
ShirleyLuo
2018-12-10 13:49:49 +08:00
@glaucus 那肯定是前者了,233
ShirleyLuo
2018-12-10 13:50:27 +08:00
@loshine1992 这样哇,这个配置相对来说,确实简单了不少
ShirleyLuo
2018-12-10 13:53:20 +08:00
@maninfog 作为开发语言这个倒是知道的,oc,emm,也没了解过,,所以说,安卓相对来说前段多一点,就不用那么多搭框架之类的了哈
wly19960911
2018-12-10 13:56:37 +08:00
@ShirleyLuo #11 不是不需要,是需求不同,创建组件并且显示,这个后面有非常大的框架在支撑啊,其实框架是就是你在什么上面开发的,并提供丰富的功能,你在 Android sdk 上开发,你在 spring 上开发,前端也基于各种框架开发。

你没有明白你究竟用什么工具,假如让一个新人学习 java 他也会奇怪,抬手就写个 http 的服务器,我都没搭建,怎么跑起来的,其实新人都没明白他在用 tomcat 去执行。
ShirleyLuo
2018-12-10 14:27:45 +08:00
@wly19960911 云里雾里,,,你想说的是:安卓本身已经为我们写好了大部分的框架结构了吗,自己相当于在这基础上进行开发
wly19960911
2018-12-10 14:50:52 +08:00
@ShirleyLuo #16 嗯,这个地方我没说好,不管做什么开发,实际上你已经用了很多工具你感受不到,只是相对集成了。

Android 本身集成了足够的一套工具用于开发,客户端的功能不需要那么多工具去扩展各种功能,该有的都有了,剩下来的功能就仅仅作为包去扩展。其实可以参考下前端,一个框架就能支撑起网页的主要功能,其他功能都是扩展的。

spring 是作为基础框架所以需要扩展的很多框架,后端随着业务逻辑和流量变多,压力变大需要扩展,加上各种工具、框架需要封装独立成为系统的一个子模块,作为多个模块之间的中间层,每个工具的场景不一样。而相对而言 Android 的功能都是每个封装组件带来的,你是对组件进行修改,没有感觉到有后端这种子模块的味道(主要是都不一定做出来是通用的组件),所以还是前后端的需求和情景不一样导致的。
kile
2018-12-10 15:04:24 +08:00
MVP 单人开发或者开发人数不超过 10 人的话建议不要使用

大量的接口类,model 类,presenter 类混杂在一起,解耦是解耦了,等别人调试你的代码时候在无数的接口中穿梭找实现代码那时候就不开心了.

MVP 这个思想没有准确的规范,1000 个人有 1000 种不同的实现方式,实现方式的不同也导致使用的时候诸多问题...有些人写着写着 presenter 层就消失了,他觉得毫无用处,有些人写着写着 model 层的东西又去 p 层了,model 层又消失.

看着很高大上,但是并不适合人数过小时候的团队
bertsir
2018-12-10 15:06:53 +08:00
@kile 同意,小项目,单人开发用 MVP 更浪费时间

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/516038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX