关键词:
相关阅读:一个90后员工猝死的全过程
最近正在考虑开发一款APP,今天就看到一款基于多端的 UI 调试工具,一套代码适应多端,真的是太棒了,下面分享给大家。
前言该工具是大名鼎鼎的 JetBrains 公司新推出的,名曰:“Jetpack Compose for Web”,官方介绍称此项目基于 Google 现代 UI 工具包 Jetpack Compose,支持使用 Kotlin 编写响应式 Web UI。
Jetpack Compose 是用于构建原生界面的新款 Android 工具包。它可简化并加快 Android 上的界面开发。使用更少的代码、强大的工具和直观的 Kotlin API,快速让应用生动而精彩。
UI 代码和预览如下图所示:94_1.png据介绍,Jetpack Compose for Web 可简化并加速 Web 应用的 UI 开发,目标是在 Web、桌面和 Android APP 之间实现 UI 代码共享,一套代码适应多端。目前处于技术预览阶段。
fun greet() = listOf("Hello", "Hallo", "Hola", "Servus").random()
renderComposable("greetingContainer")
var greeting by remember mutableStateOf(greet())
Button(attrs = onClick greeting = greet() )
Text(greeting)
Result: Servus
94_2.png使用 Compose for Web 构建用户界面借助 Compose for Web,开发者通过使用 Kotlin 并应用 Jetpack Compose 的概念和 API 为 Web 构建响应式用户界面,以表达应用程序的状态、行为和逻辑。
可组合的 DOM API通过 DOM 元素和 HTML 标签表达设计和布局使用类型安全的 HTML DSL 构建 UI 表示形式通过使用类型安全的 CSS DSL 创建样式表来完全控制应用程序的外观通过 DOM 子树与其他 JavaScript 库集成fun main()
renderComposable("root")
var platform by remember mutableStateOf("a platform")
P
Text("Welcome to Compose for $platform! ")
Button(attrs = onClick platform = "Web" )
Text("...for what?")
A("https://www.jetbrains.com/lp/compose-web")
Text("Learn more!")
94_3.png具有 Web 支持的多平台小部件通过利用 Kotlin 的 Expect-actual 机制来提供特定于平台的实现,从而使用和构建可在 Android、桌面和 Web 上运行的 Compose 小部件
处于实验性阶段的一组布局原语 (layout primitives) 和API,这些原语和 API 与 Compose for Desktop/Android 的功能相似
示例代码使用 Composable DOM 编写简单的计数器
fun main()
val count = mutableStateOf(0)
renderComposable(rootElementId = "root")
Button(attrs =
onClick count.value = count.value - 1
)
Text("-")
Span(style = padding(15.px) ) /* we use inline style here */
Text("$count.value")
Button(attrs =
onClick count.value = count.value + 1
)
Text("+")
声明和使用样式表object MyStyleSheet : StyleSheet()
val container by style /* define a class `container` */
border(1.px, LineStyle.Solid, Color.RGB(255, 0, 0))
@Composable
fun MyComponent()
Div(attrs =
classes(MyStyleSheet.container) /* use `container` class */
)
Text("Hello world!")
fun main()
renderComposable(rootElementId = "root")
Style(MyStyleSheet) /* mount the stylesheet */
MyComponent()
声明和使用 CSS 变量object MyVariables : CSSVariables
val contentBackgroundColor by variable<Color>() /* declare a variable */
object MyStyleSheet: StyleSheet()
val container by style
MyVariables.contentBackgroundColor(Color("blue")) /* set its value */
val content by style
backgroundColor(MyVariables.contentBackgroundColor.value()) /* use it */
@Composable
fun MyComponent()
Div(attrs =
classes(MyStyleSheet.container)
)
Span(attrs =
classes(MyStyleSheet.content)
)
Text("Hello world!")
idea又出新神器,一套代码适应多端!
...ff0c;下面分享给大家。前言该工具是大名鼎鼎的 JetBrains 公司新推出的,名曰:“JetpackComposeforWeb”,官方介绍称此项目基于Google现代UI工具包JetpackCompose,支持使用Kot 查看详情
jetbrains又出了一款新神器,一套代码适应多端!
...;下面分享给大家。1、前言该工具是大名鼎鼎的 JetBrains 公司新推出的,名曰:“JetpackComposeforWeb”,官方介绍称此项目基于Google现代UI工具包JetpackCompose,支持使用Kot 查看详情
jetbrains又出了一款新神器,一套代码适应多端!
...;下面分享给大家。1、前言该工具是大名鼎鼎的 JetBrains 公司新推出的,名曰:“JetpackComposeforWeb”,官方介绍称此项目基于Google现代UI工具包JetpackCompose,支持使用Kot 查看详情
jetbrains又出了一款新神器,一套代码适应多端!(代码片段)
...ff0c;下面分享给大家。1、前言该工具是大名鼎鼎的JetBrains公司新推出的,名曰:“JetpackComposeforWeb”,官方介绍称此项目基于Google现代UI工具包JetpackCompose,支持使用Kotlin编写响应式Web 查看详情
jetbrains打造的开发神器,一套代码适应多端!
...,下面分享给大家。前言该工具是大名鼎鼎的JetBrains公司新推出的,名曰:“JetpackComposeforWeb”,官方介绍称此项目基于Google现代UI工具包JetpackCompose,支持使用Kotlin编写响应式WebUI。JetpackCompose是用于构建原生... 查看详情
jetbrains打造的开发神器,一套代码适应多端!
...,下面分享给大家。前言该工具是大名鼎鼎的JetBrains公司新推出的,名曰:“JetpackComposeforWeb”,官方介绍称此项目基于Google现代UI工具包JetpackCompose,支持使用Kotlin编写响应式WebUI。JetpackCompose是用于构建原生... 查看详情
多端统一开发解决方案---taro(代码片段)
...端的能力就显得极为需要。2.准备工作注册小程序(公司账号管理者),管理=>成员管理模块添加开发者微信号;获取appid:开发=>开发管理=>开发设置模块获取appid,appSecret服务器域名:开发=>... 查看详情
taro,多端适配方案(代码片段)
最近公司几款可以在微信小程序端和H5端同时运行的一套商城,接着就是任务下发喽,但是有一点,时间紧任务重,Boss直接说其他的不管,反正一个半月之内必须上线,~~~头疼。那就只好想办法喽机缘巧合京东泰罗版本,研究下... 查看详情
idea插件神器教你如何使用idea一键set实体类中所有属性(代码片段)
...,又浪费时间,而且容易漏掉。给大家推荐一款神器:GenerateAllSetteridea有款叫GenerateAllSetter的插件。idea打开File->Plugins搜索GenerateAllSetter点击Installed,下载后无需重启idea使用方法: 查看详情
idea插件神器教你如何使用idea一键set实体类中所有属性(代码片段)
...,又浪费时间,而且容易漏掉。给大家推荐一款神器:GenerateAllSetteridea有款叫GenerateAllSetter的插件。idea打开File->Plugins搜索GenerateAllSetter点击Installed,下载后无需重启idea使用方法: 查看详情
介绍一个欧神写的剪贴板多端同步神器(代码片段)
经常会遇到这样的场景:手机上看到某位大佬发了一段醍醐灌顶的话,马上想记录到自己的笔记系统里去。但电脑上并没有登录微信,所以还得先登录电脑端微信,再自动同步消息,找到那段话,复制... 查看详情
阿里出品!springboot应用自动化部署神器,idea版jenkins?(代码片段)
Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记!最近发现一款阿里出品的IDEA插件CloudToolkit,不仅支持直接打包应用部署到远程服务器上,而且还能当终端工具使用。试用了一把这个插件,非常不错... 查看详情
html多端适应响应式布局案例(代码片段)
...t;</div> <divclass="aa"></div></div>CSS代码:设置视口:<metaname="viewport"content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable 查看详情
两台电脑共享一套键盘鼠标的神器
实验室有台台式电脑,自己又带了笔记本,现在键盘鼠标是连接在台式机上的,当要使用笔记本的时候再去用笔记本的触摸板是很不习惯,就想找找有没有能什么东西能实现一套键盘鼠标给两台电脑用的,从某宝上搜到的是... 查看详情
推荐一款idea代码生成神器,写代码效率翻倍!(代码片段)
Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。1、安装(EasyCode)我这里的话是已经那装好了。建议大家在安装一个插件,叫做Lombok。Lombok能通过注解的方式,在编译时自... 查看详情
代码神器:拒绝重复编码,这款idea插件了解一下.....
作者:HeloWxlwww.jianshu.com/p/e4192d7c6844Easycode是idea的一个插件,可以直接对数据的表生成entity、controller、service、dao、mapper无需任何编码,简单而强大。1、安装(EasyCode) 我这里的话是已经那装好了。建议大家在安装一个插件,叫... 查看详情
idea-日志管理神器(代码片段)
...onsole面板。5.其它功能暂时还用不到,有待开发~日志管理神器-bug绕着走记录每一个学习瞬间 查看详情
推荐一款idea生成代码神器,写代码再也不用加班了!(代码片段)
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。1、安装(EasyCode)我这里的话是已经... 查看详情