首页 > 其他分享 >超强新框架,引领Android开发新时代.

超强新框架,引领Android开发新时代.

时间:2023-06-14 15:07:14浏览次数:25  
标签:开发新 Compose Jetpack Google UI 超强 Android Flutter


2019年,Compose在Google IO大会横空出世,大家都议论纷纷,为其前途堪忧。今年7月Compose 1.0的正式发布,却让大家看到了Google在推广Compose上的坚决,这也注定Compose会成为UI开发的新风向。

为什么要用Compose?

师兄Flutter大行其道,Compose这个师弟又有什么让人选择它的理由呢?其实二者实现的功能虽然大同小异,但他们诞生的初衷截然不同。

Flutter:作为一款专为跨平台而生的框架,从上到下都透露着大胆和创新,选择Dart已经是胆大包天,在Web平台支持选用Canvaskit 的 WebAssembly 模式更是堪称激进。它的任性也导致一部分人难以接纳。

超强新框架,引领Android开发新时代._程序人生


Compose:Compose则是一个全新的UI库,隶属Jetpack中的一员,它的出现是为了重新定义Android UI的开发方式,相比原生Android UI的开发方式,它大幅度提高了原生UI的开发效率:

  • 声明式UI,不需要手动刷新数据
  • 去掉XML,完全解除了混合写法(xml+Java、kotlin)的局限性
  • 超强兼容性,大多数常用库(如Navigation、ViewModel和Kotlin协程)都适用于Compose,Compose 能够与现有 View 体系并存,你可以为一个既有项目引入 Compose
  • 加速开发,为我们提供了很多开箱即用的Material 组件,如果的APP是使用的material设计的话,那么使用Jetpack Compose 能让你节省不少精力。
  • 精简代码数量,减少bug的出现
  • 功能完备,可以完全覆盖Android现有视图系统的所有能力
  • 实时预览,Compose 预览机制可以做到与真机无异,真正的所见所即得

Compose实现了Google创立它的初衷,各大厂也是对Compose赞不绝口:

超强新框架,引领Android开发新时代._Android_02

Compose和Flutter该怎么选?

无论你喜欢与否,声明式UI开发已经逐渐代替传统UI界面的编写,这也是未来大势所趋,很多开发者都在Flutter和Compose之间纠结:精力受限,我只能二选一啊。那么客观来说,如果你的发展线路是多平台开发者,Flutter值得你研究。但如果想继续在Android平台深耕细作,那么Compose则是你必须要学会的。越来越多的大厂也在高级Android工程师的招聘条件中对Compose做出了明确要求:

超强新框架,引领Android开发新时代._程序人生_03

但是对于大部分开发者来说,Compose确实是一套比较难学的东西,它是一个完整的、全新的框架:渲染机制、布局机制、触摸算法以及 UI 的具体写法,全都是新的,抛弃了我们写了 N 年的 View 和 ViewGroup 那一套东西。

为了帮助大家更好地学习Compose,早日实现更加高效、高级的UI界面开发,这里特意为大家免费分享了一份《Jetpack Compose入门到精通》学习资料,具体请往下看。

超强新框架,引领Android开发新时代._程序人生_04



标签:开发新,Compose,Jetpack,Google,UI,超强,Android,Flutter
From: https://blog.51cto.com/u_15620990/6477002

相关文章

  • 新版android studio无法新建java源码工程解决
    辣鸡股沟又特么一刀切了,新建的asandroid项目没法选java语言,默认就是kotlin,而且没有地方设置,具体解决办法是:在新建project的时候不要选EmptyActivity(会默认启用kotlin,无法选择java);可以选择如下图标红的1,2两种模版(NoActivity,EmptyViewsActivity)来新建项目,前者没有a......
  • 保护模式超强的寻址功能:天空任鸟飞
    X86架构下,cpu的运行模式分两种,一种是实模式,像早期Dos那种黑底白字的命令行操作界面,可以说是实模式最好表现形式,在实模式下也只能产生这种冰冷,呆板,机械的用户体验。后来Intel的CPU进一步发展,引入了保护模式,由此,操作系统的发展进入了新的时代,在保护模式下,CPU功能进一步增强,进而支撑......
  • 一个android文本比对app的实现(二)--界面
    <spanstyle="font-family:Arial,Helvetica,sans-serif;background-color:rgb(255,255,255);">继上一篇博文大致介绍了这一简单但有点用处的app后(详情:</span><spanstyle="color:rgb(51,51,51);font-family:Arial;font-size:14px;line-height:26px;b......
  • 一个android 文本比对App的实现(一)
    做c++开发很多年了,从早年windowsvc6.0做客户端程序开发,这些年后台流媒体服务器后台开发。随着时代变迁,移动互联逐渐兴起,直到现在,移动互联的风头早已盖过传统互联网应用,因而传统后台开发似乎日渐式微。如今要找工作的话,android,IOS等开发的职位不但数量远远多于c++,而且报酬也要比c+......
  • android Button组件的属性和方法
    androidButton组件的属性和方法   一、相关属性     二、相关方法 setClickable(booleanclickable)设置按钮是否允许点击。clickable=true:允许点击clickable=false:禁止点击setBackgroundResource(intresid)通过资源文件设置背景色。resid:资源xml文件ID。按钮默认背......
  • 【转】Android字体小结
     android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。android:bufferType指定getText()方式取......
  • Android SeekBar的使用
    AndroidSeekBar的使用  <?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="......
  • 【Android】ListView与Button的共存问题解决
    【Android】ListView与Button的共存问题解决这两天在捣鼓ListViewwidget,为了在ListView中加入Button这类的有“点击”事件的widget,请教了不少高手,感谢LandMark对我的认真讲解,下面把解决过程描述一下。 ListView和其它能触发点击事件的widget无法一起正常工作的......
  • [android]使用线控耳机来操控应用功能
    使用线控耳机来操控应用功能  实现原理:通过广播拦截来实现。 (一)定义1个广播拦截器,用来拦截线控耳机按键产生的广播事件。 importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.os.Bundle;importandro......
  • android调用系统发短信界面功能
    android调用系统发短信界面功能 Intentintent=newIntent(Intent.ACTION_SENDTO,Uri.parse("smsto:13xxxxxxx")); startActivity(intent); 需要的权限: <uses-permissionandroid:name="android.permission.SEND_SMS"></uses-permission>......