范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Android开发为什么除Flutter之外,还需要另一个跨平台框架?

  编译:核子可乐、燕珊
  不久前,谷歌正式推出 Jetpack Compose 1.0 版本。近日,JetBrains 在此基础上发布了 Compose Multiplatform Alpha 版本,旨在将 Compose 扩展到桌面和 Web 端。
  Compose Multiplatform 由 Compose for Desktop 和 Compose for Web 组成,通过 Kotlin Multiplatform 支持许多不同的平台。其中,Compose Desktop 采用 Google 的 Skia 图形库,来实现在 Windows、macOS 和 Linux 上的 UI 绘制,借此在所有支持的操作系统中提供统一的体验,类似于 Flutter 的做法。
  根据 Kotlin 团队的说法,相比起 Electron 框架,Compose Multiplatform 在内存消耗、安装大小和 UI 渲染性能等方面将有更明显的优势。随着 Alpha 版本的发布,Compose Multiplatform 还收获了新的 Android Studio 插件,包括对在 IDE 中显示组件预览的支持以及许多附加功能。
  我们希望通过本文帮助大家进一步了解 Compose 的跨平台能力,以及 JetBrains 将 Compose 从 Android 扩展到这些其他平台背后的主要驱动力是什么。  基于 Jetpack Compose 1.0
  由谷歌打造的 Jetpack Compose 是一款用于在 Android 应用程序之内构建用户界面的官方框架,上周刚刚发布 1.0 版本。与此同时,Android Studio 代号"极狐"的首个稳定版 2020.3.1 也正式亮相。
  尽管才刚迎来 1.0,但谷歌表示"目前 Play Store 中已经有超过 2000 款应用程序在使用 Compose——更重要的是,就连 Play Store 这款应用本身也在使用 Compose。"谷歌方面还表示,"我们一直在与一些顶级应用的开发人员进行合作,他们的反馈和支持帮助我们使 1.0 版本更加强大。"
  Compose 是一套  声明式  框架,其最大特色在于摆脱了传统 Android 方法中的层级结构,或者说布局与控制树。Compose 用户界面通过编写带有 @Composable 注释的函数(用于描述屏幕状态)来定义,也就是所谓函数生成用户界面。谷歌 Android 开发团队解释道,"随着应用程序状态的变化,你的 UI 也会自动更新,这让快速构建 UI 变得更加简单。"
  Jetpack Compose for Android 迎来 1.0 版本
  Compose 基于 Kotlin 开发,而 Kotlin 与 Android Studio(即官方指定的 Android IDE)均来自开发工具厂商 JetBrains。虽然 Jetpack Compose 专为 Android 打造(与谷歌的 Flutter 框架不同), 但 JetBrains 公司坚信 Compose 完全能够获得跨平台能力 。  Compose for Desktop: 这只是开始
  Compose Multiplatform 可以说是该框架面向 MacOS、Linux、Windows 以及 Web 开设的一个端口,目前刚刚发布 1.0 Alpha 版本。虽然尚处于早期开发阶段,但 JetBrains 表示,其已经"为开发人员带来能够基本安全使用的稳定 API"。
  TheRegister 就此事询问了 JetBrains 公司 Compose 项目负责人 Nikolay Igotti,希望了解为什么该公司在拥有了已经广泛应用于 IntelliJ IDEA IDE 及多种丰富变体的桌面应用程序跨平台 Java 框架之外,还要费力开发 Compose for Desktop。Igotti 的回答是,"旧有 Java 框架基本上就是修改版的 Swing。Swing 属于默认 JDK UI 框架,Swing 和 AWT(Abstract Windows Toolkit,抽象窗口工具包)。Compose 则完全是另一码事,当然我们也在设计中考虑到了互操作性需求……Swing 这套框架太陈旧了,最早出现在上世纪九十年代末。多年来人们对于 UI 的设计思路已经天翻地覆,Swing 显然满足不了要求了。"
  JetBrains IDE 中的 Compose for Desktop 项目
  Compose 与 Swing 有一个比较大的共同点:与其他使用本机控件的跨平台框架,比如例如 Java 的 SWT(Standard Widget Toolkit)以及微软的 Xamarin 有所不同,它们选择自主绘制控件。Compose 使用的 Skia 开源图形库,也在谷歌 Chrome、Flutter 及其他众多框架当中得到广泛应用。那这是否意味着 Compose 应用程序将没有自己的原生外观?对此,Igotti 的回应是,"这取决于开发人员的选择,取决于他们如何为应用程序设置主题。在这方面,Compose 的情况与 Flutter 等其他框架没什么区别。"
  那 Compose for Desktop 应用程序是否依赖于 JVM(Java Virtual Machine)运行?Igotti 表示,"我们也知道,JVM 应用程序的发布情况可能比较棘手。因此我们提供自己的 Gradle 插件,其使用 jpackage 与 Jlink 以 JVM 应用程序为基础制作原生应用程序。Mac 的.dmg、Windows 的 MSI、Linux 的 deb 包等均可实现,大家用不着担心 JVM。"
  也就是说,开发成果将会是一款被精心包裹起来的 JVM 应用程序。JetBrains 还有一款用于解决这个问题的 Kotlin/Native 编译器,"预计将在未来发布,或者专门用于桌面开发。"
  对应用程序的另一种思考方式
  那 Web 应用程序方面呢?Igotti 回应称,"我们使用 Kotlin/JS 编译器。"Compose 的 Web 版本不如桌面版先进,说明文档中也警告称"API 尚未最终确定,预计会发生重大变化。"此外,虽然 Web 版本确实使用 Compose 模型,但 API 却完全不同,而且会使用 HTML 与 CSS。所以,Web 版与 Compose for Desktop 之间能够共享的代码应该比较少。
  据 Igotti 介绍,"Compose 代表着一种不同的应用程序思考方式。状态即 UI 的真实来源,而 UI 本身是无状态的,其表达永远由状态计算得出。在这方面,Compose for Web 采用一组相同的原语,完全相同的状态管理思路。但是对于具体的小部件集合与排列方式,Web 版与桌面版之间确实无法互通。"
  说到这里,为什么要把 Compose for Android 扩展到多种其他平台之上?"Compose 的目标受众主要分为三类。首先是使用 Kotlin 与 Compose 的 Android 开发人员,他们希望把自己的开发成果交付至其他平台;其二是纯 Kotlin 开发人员,他们希望以‘一次编写、随处运行’的方式开发新的应用程序;第三则是那些不太熟悉 Kotlin 或者 Compose,但又希望开发出精美 UI 的用户,我们希望能为他们提供实现目标的工具。"
  Igotti 并没有给出具体的发布日期,但表示自己希望 Beta 版能在今年秋天发布,"我们也希望能在今年之内推出 1.0 版本。"项目本身是完全开源的,"二十一世纪了,框架在大多数人们心目中就不应该收费。我们只是想开发一款长期缺失的软件",补足 JetBrains 当前商业模式中的工具链。
  需要注意的是,Compose 并不提供可视化设计器。Igotti 提到,"大多数开发者都不喜欢图形 UI 构建器",声明式 UI 与设计内容预览才是最受欢迎的解决思路。"因此我们提供预览机制,您可以在 composable 函数上添加注释,并在无需运行应用程序的前提下快速预览。"
  JetBrains 认为目前工具市场对于桌面应用程序开发者的支持并不到位,公司组织的内部开发者调查也在一定程度上证实了这个结论。"桌面开发现在有点‘二等公民’的意思……这可是个需要高度关注的小众市场。"
  那么,JetBrains 会在自己的其他工具中使用 Compose 吗?事实上,他们的 JetBrains Toolbox(用于管理已安装的 IDE)已经在使用 Compose,但 Igotti 表示短时间内 Compose 还无法取代 IntelliJ IDEA 等现有框架。"编辑器是其中最复杂也最重要的组件,经历了 20 年的发展演进,我们几乎不可能在中途进行重写了。无论是 JetBrains 还是我个人,都不打算强迫每个人都转而使用 Compose。我们的目标是为原有框架选项满足不了的用户提供新的解决方案。"  写在最后
  那么,为什么除了 Flutter 之外,我们还需要另一个跨平台框架?虽然谷歌的 Flutter 最开始主要面向移动设备,但现在也开始向桌面及 iOS 进军,甚至比 Compose 还抢先了一步。不过,根据 StackOverflow 的最新调查, Flutter 使用的语言为 Dart;尽管 Dart 语言的人气正在增长(正是受到 Flutter 的推动),但仍然无法与 Kotlin 相提并论。
  更重要的是,Compose 的发展势头颇为强劲——其 GitHub repo 拿下 5000 多个星,上报问题的数量也非常多。虽然诸多问题代表着"麻烦"不断,但也恰恰说明了这是开发者们所热切关注的方向。
  Compose 代表着一种独特的 UI 构建方法,也许最期待 Compose 跨平台功能的受众,正是那些曾在 Android 上使用过它、又特别喜欢这种 UI 构建体验的开发者。
  想要进一步了解 Compose,大家可以通过私信我获取jetpack完全手册
  在这里还分享一份由大佬亲自收录整理的Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料
  这些都是我现在闲暇时还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效地帮助大家掌握知识、理解原理,帮助大家在未来取得一份不错的答卷。
  当然,你也可以拿去查漏补缺,提升自身的竞争力。
  真心希望可以帮助到大家,Android路漫漫,共勉!
  如果你有需要的话,只需私信我【进阶】即可获取

快2022年了,i56500现在还行吗?奔腾G4400也是2015年3季度推出的产品,采用14nm工艺制造,基于Skylake架构,2核心2线程,频率3。3GHz,3MBL3缓存,集成了HD510核显,TDP54Wi56使用笔记本的时候,一直插着电会不会对电池使用寿命有影响?这方面ThinkPad的电源管理程序做得最好!可以自己设定充电阀值(从1到99之间任意设定),我的T400用了8年,电池损耗只有6,充电次数只有100次左右,因为我是将电池充电阀值二手价从6688降到1399很多游戏主播在用对于不同年龄阶层的用户来说,对智能手机也有不同的喜好。就拿父母长辈来说,他们更喜欢长续航手机,对所谓的性能高刷手感并不在乎,只要待机能超2天的手机,用起来就乐此不疲了。但对于一些年麒麟985不及麒麟980?华为海思麒麟家族的芯片排名情况文小伊评科技由于华为被制裁的缘故,目前已经基本丧失了生产麒麟芯片的能力。这也就让在目前市面上现存的配备麒麟芯片的华为手机成为了香饽饽,那么本文就来给大家做一个详细的罗列,来看一看目联发科终于背刺高通一把!不仅性能创新纪录,市场份额更成为第一众所周知,手机芯片界两大巨头当属高通和联发科,高通的骁龙和联发科的天玑芯片一直是市面上众多手机品牌的首选。前几年高通整体表现是优于联发科的,所以你会发现高端旗舰机型一般使用的都是高数字货运系列(二)定义数字货运2021年初政府工作报告提出产业数字化,数字产业化的发展理念与方向,2021年6月满帮集团上市被称为数字货运第一股。如何理解数字货运?数字货运与网络货运又有什么关系?达牛用自己的行荣耀突然官宣新机,采用折叠屏设计,预计明年一月份正式发布弄出一个子品牌来进一步抢占市场是国产手机市场中的常态,多家国产手机厂商都有自己的子品牌,不过最先尝试这种方法的还是华为,而且它所弄出的子品牌荣耀后续发展甚至不亚于其它国产主流手机品京东把运费调整为15元,小件商品还能买吗?今年情人节(2月14日),京东突然调整运费,宣布从即日起在京东购物不满49元将收取15元快递费,而此前的标准是6元。此举遭到很多用户的吐槽。但平心而论,快递费上涨已是大势所趋。有意输赢一部值得一看的互联网职场剧输赢两大全球领先的跨国信息系统供应商捷科网络技术公司与惠康科技集团相互较量。两大跨国信息系统供应商捷科科技在中国最大的对手就是惠康集团,两公司屡屡交战。而捷科公司的华东销售总监周锐TikTok,第一了最新!外媒TikTok超越谷歌,成2021年全球访问量最大的互联网网站美国商业内幕等媒体22日根据追踪互联网流量的云基础设施公司Cloudflare的数据报道称,TikTok(抖音Python爬虫实战,Python多线程抓取5千多部最新电影下载链接前言利用Python多线程爬了5000多部最新电影下载链接,废话不多说让我们愉快地开始吧开发工具Python版本3。6。4相关模块requests模块re模块csv模块以及一些Py
GalaxyS21系列推送6月第二次更新再次提升相机性能GalaxyS21系列是首批收到2021年6月安全更新的产品之一,这是一个非常重要的更新,因为三星表示将解决GalaxyS21上的相机应用程序有时会遇到的疯狂延迟和卡顿问题。三星现GalaxyF22规格确认换皮版GalaxyA22上个月有消息称,三星正在开发另一款入门级智能手机GalaxyF22。之前就有猜测极大可能就是几周前推出的GalaxyA22的变体,现在可以确认情况确实如此。GalaxyF22出现在骁龙865版GalaxyS20FE于2021年8月获得安全更新几天前,三星开始推出2021年8月的安全更新。GalaxyA52是第一款获得更新的手机。该更新随后推送到GalaxyA72GalaxyA8(2018)GalaxyS20FE(Exy解决相机延迟和设备过热GalaxyS21最重要的软件更新在美推送GalaxyS21系列最近收到了其最重要的软件更新之一,该更新结束了许多GalaxyS21S21和S21Ultra用户一直面临的相机延迟问题,并修复了设备过热问题。该更新现在已经开2021年8月安全更新推送至GalaxyS10系列2021年8月的安全更新终于推送至GalaxyS10系列。三星在7月的最后一周开始推送2021年8月的更新,GalaxyA52是第一款获得更新的手机。在过去的几周里,数十台新设备收GalaxyF425G规格确认联发科处理器几个月前有消息透露,三星正在研发一款新的智能手机,可能作为GalaxyF425G推出。上个月有消息基本证实了这款智能手机的规格与GalaxyA225G非常相似,因为两款手机都列在同价格低,空间大,续航足,配置高,解析比亚迪秦PLUSEV比亚迪,一个最初造手机电池的公司,却成了中国一线汽车品牌,而且它的新能源技术已经达到了世界领先水平,并且依然保持着国产车高性价比的特点,下面要说的是秦PLUSEV,虽说这台车定位较奔驰最便宜的AMG车型,解析A级AMG,4。7秒破百的性能小钢炮大多数小钢炮车型都有着一副扮猪吃老虎的外表,在常人眼中它们就是一辆普普通通的买菜车,但实际上它们都拥有强悍的性能。AMG是奔驰的高性能部门,即使是最便宜的A级AMGA354MATI雪佛兰科鲁泽320车型优惠近4万,1。5L四缸自吸6AT,还有四轮独悬在合资紧凑型轿车市场,别克与雪佛兰曾经走过一段弯路,那就是全线换装三缸发动机,随之而来的便是销量的大幅下滑,所有上汽通用也不得调整策略,给英朗和科鲁泽重新装上了四缸机,这才使销量触16。98万买中大型SUV,合资大品牌,标配2。0T,解析福特领裕最低配领裕是江铃福特在今年上半年推出的中大型SUV,也算江铃福特在乘用车市场的又一次尝试,主打家用大空间概念,而且16。98万的起售价格也算得上诚意满满,那么问题来说,最低配车型在配置方不到10万买合资紧凑型SUV,1。5T四轮独悬,无奈品牌大不如从前不到10万买合资紧凑型SUV,这在以前绝对是想都不敢想的,但得益于国产车的崛起,有些合资品牌也放下了身段,在定价方面也更加谨慎,这其中韩系车和美系车受到的冲击最大,就比如江铃福特领