稀有猿诉

十年磨一剑,历炼出锋芒,说话千百句,不如码二行。

群星闪耀的大前端开发

乔帮主发布iPhone以降,把世界推向了智能手机时代,随之而来的是移动互联网大潮,一时间移动应用开发变得炙手可热起来,渐渐的超越了传统桌面端和传统前端,成为了主流。随之而来的就是重复开发的问题,同样的业务需要在Android上面实现一次,在iOS上面实现一次,通常也需要在Mobile Web(移动端H5)实现一次,自此跨端开发成了移动互联时代一个必须要攻克的难题。

赶紧上车开启Compose大前端之路

前面的文章中,我们一再强调Jetpack Compose是一个声明式的UI框架,尽管我们都是基于Android开发来实战的,但Compose并不局限于Android开发,它其实与特定的开发平台没有关系,是可以做到跨平台开发的。事实上JetBrains早就已经准备好了一套工具,以让Compose跨平台,开发多端应用,跻身于大前端的一员。今天就来学习一下如何使用Compose进行大前端开发。

用Compose中的CompositionLocal来暗渡陈仓

通过前面的学习我们知道Jetpack Compose是一个声明式的UI框架,采用的是函数式编程思想,直观上来看就是一坨函数从上调到下。当函数需要数据时,会通过函数调用的参数来传递,一般来说这也没有什么问题。但当需要的数据特别多时,特别是对于一些非业务逻辑本身的数据(输入与输出),如上下文环境变量(Context,或者主题之类),都通过函数调用的参数传递就难免会让代码变得非常的庞杂和臃肿。这时候就可以使用CompositionLocal,一种在组合树中隐式的从上到下传递数据的方法,我们来具体地看一下。

给Jetpack Compose添加Native支持

Jetpack Compose是一个声明式的UI框架,但一个项目不可能光有UI,还需要有业务逻辑。Compose所用的编程语言是Kotlin,一种基于JVM的多范式通用编程语言,尽管非常强大,但因为现代的项目都非常复杂,多语言混合,有些东西用Kotlin没法实现,或者有些现成的C/C++代码可以复用,这时就需要能把native代码集成到Compose项目中去。

喜迎国庆,用Compose赶制一面五星红旗

我们学习Jetpack Compose已经有一段时间了,通过前面的学习已能掌握足够的技巧以在实战中应用。恰逢普天庆国庆,利用我们学过的知识,使用Jetpack Compose来画一个迎风飘扬的五星红旗吧!废话不多说,先来看一眼效果图。

搞定在Jetpack Compose中优雅地申请运行时权限

随着安全与隐私问题越来越被人们所重视,操作系统对应用程序的限制也越来越严格。一个非常明显的控制就是对于运行时权限(Runtime permissions)的管控是越来越严格,很多原本不需要权限的地方也需要了权限。这就要求应用程序必须能够灵活的处理运行时权限。Jetpack Compose作为一个独立于平台的声明式UI框架,本身并没有权限的概念,权限是平台强相关的,本文将研究一下如何在Compose中优雅的申请运行时权限。

轻松解决Jetpack Compose中的一些痛点问题

暑去秋来,金桂飘香,不知不觉中我们已经练完了『降Compose十八掌』,相信通过这一系列文章能够对Jetpack Compose有足够的理解,并能在实际项目中进行运用。今天将继续Compose之旅,总结一下Compose使用过程中经常会遇到的一些痛点问题,并学会如何优雅的解决这些问题。