直播回放:快速上手,使用 Kotlin 把支付宝小程序装进自己的 App
写一个 Android App 或许不难,但企业对于移动应用的要求愈来愈高,不只要求开发速度、稳定度、质量等,甚至希望能具备动态扩展的架构设计、在 App 中自启动小程序。面向这些需求,若是有好的开发工具及平台的支持,将可以大大降低开发及运维的成本。本次网络研讨会特别邀请到支付宝高级无线开发工程师温盛章为大家演示用 Kotlin 开发移动应用,并集成 mPaaS 让 App 具备小程序能力。
主题分享
本次分享共有三个关键字:Kotlin 、 小程序 、 mPaaS 。温盛章首先从用户、开发、技术、平台等四大视角,向大家说明小程序是什么?简单来说,小程序就是一种拥有完整生命周期、应用间相互隔离、独立运行于宿主应用内的应用。而小程序从工作型 App、平台型 App、超级 App 到新阶段一路的演化历程,目前已经可以有接近 Native 的体验和顺畅、也可以有 H5 的快捷发布的优势。
对小程序有概念后,温盛章就以 Android Studio 演示如何在一个 Mobile App 里,以 Kotlin 撰写 Mobile App 的代码,并接上 mPaaS 平台,让 App 有自启动小程序的能力。要接入 mPaaS,首先需在 Android Studio 里安装 mPaaS 插件,并到阿里云的 mPaaS 后台创建一个新建用。接着,在 Android Studio 里通过插件介入 mPaaS 后下载设置文件及基线。再来,依照项目的需求,下载所需的 mPaaS 组件。完成这些设置后,在 Native 部份,仅需 App、Activity、Plugin 三个文件,就可以做出一个接上小程序的简单应用。
小程序的部份,可以通过 mPaaS 的 IDE 撰写 HTML、CSS、JS 完成小程序端的开发,上传至 mPaaS 后台后,就可在 App 里启动。不仅如此,mPaaS 的 SDK 还可以将 Native 端与小程序间打通,两者可以交互传递信息,只要照着文档示例操作,一个具备小程序能力的移动应用,就在不到 1 小时内完成!
听完这场分享后,相信大家都能体验小程序在开发及部署的好处、Kotlin 语法的简洁及 mPaaS 服务的完整性。通过这样的工作流,可帮助您实现“代码仅需撰写一次,便可多端投放”,从而深度提升研发效率。
Q&A
Q. 学习 Kotlin 可以完全不用懂 Java 吗?或者了解下 Java 的一些基本知识就够了?
温盛章:Kotlin 在设计上有许多语法糖,像是 Extension 可以轻松的依据需要做扩展、Lambda 表达式可以构成 DSL 的能力、Coroutine 把线程封装后更好使用,加上现在 Google 的 Android 团队采用 Kotlin 做为官方语言,所以我觉得可以先以 Kotlin 为主去学习 Android 开发。不过,别忘了 Kotlin 最终还是编译成 JVM 的字节码,所以要搞清楚底层的话,一些基本功还是不能落下。
范圣佑补充:学习 Android 时,可以到 Google 的 Code Lab 上学习,非常适合初学者。
Q. 我的理解是 Kotlin 是负责数据的处理,而像获取安卓手机信息这个功能只需要调用安卓的一些组件就能实现了是吗?
温盛章:这个东西需要隔离开来看,我们可以先把 Kotlin 理解成一个槌子,调用安卓组件我们可以简单的理解成钉子。怎么把钉子打到墙里面,你可以用槌子、也可以用剪刀,只要能完成任务就行。但很明显的,用剪刀把钉子打到墙里估计要比槌子难,所以 Kotlin 在这里就是扮演着槌子的角色。就我自己使用的经验来说,Kotlin 在提升效率这方面带来非常大的帮助。原本用 Java 得写又臭又长的代码,改用 Kotlin 后就变得非常的简洁。
我这边要特别强调一下 Kotlin 里 Null Safety 的特性,以前在 Java 里一个变量是否为 Null 需要在逻辑层里自行解决,但在 Kotlin 里可以用问号,通过编译器就可以预先做好对空值的处理。这部份的强化和提升是我非常喜欢的。
Q. 用 Kotlin 开发安卓,用 Andriod Studio 比较好还是用 IntelliJ IDEA 更方便些,有哪些好用的插件了可以推荐下?
范圣佑:Android Studio 和 IntelliJ IDEA 是使用相同的 IntelliJ Platform 打造出来的,所以在 UI、快捷键操作上其实都很雷同,许多插件也是可以互通的。若你只需要开发 Android 的话,用 Android Studio 其实就可以满足你的需求;但若你不仅需要开发 Android,还需要开发像 Web、数据库的工作,那会推荐使用 IntelliJ IDEA Ultimate 版才能满足各方面的需求。
温盛章:单纯开发 Android 或 Android 与其他工程混在一起的项目,我会推荐用 Android Studio;但假如是纯 Java 或 Kotlin 的项目,我就会推荐用 IntelliJ IDEA,而且非常推荐使用 Ultimate 版,因为 Ultimate 版相比 Community 版提供了更多的功能,非常的好用。
两位推荐的插件包括:
1)在演示过程中可以显示快捷键提示的 Presentation Assistant 插件
2)让 IntelliJ IDEA 可以有像 Vim 一样操作模式的 IdeaVim 插件
3)本次演示的主角 mPaaS 插件(目前仅支持 Android Studio)
4)用 Annotation 让 Java 有一些类似 Kotlin 特性的 Lombok 插件
Q. 有办法可以 Android 模拟器调试吗?
温盛章:以开发 mPaaS 应用来说,因为没有提供 x86 及 x64 的 Native 支援,所以很遗憾的目前没有办法以 Android 模拟器调试,只真机调试。对于 Android 开发者来说,因为 Google 及许多平台的 SDK 对 x86 的支持也不是那么的好,加上考虑自己的电脑是不是够快,所以 Android 开发我还是强调建议真机调试。
Q. 请问手机投屏的软件是?
温盛章:付费版的 Vysor。
Q. 请问小程序怎么不选择 Flutter 作为引擎?
温盛章:小程序的好处是上层使用的语言(也就是使用 HTML、CSS、JS)及下层搭配用 Web View 显示已经固定且稳定,所以 mPaaS 优先支持这样的架构。而 Flutter 在下层使用的引擎不同,我们其实已经有在做尝试,但现阶段还不适合商业公开。等到技术上够成熟后,会再公开 mPaaS 与 Flutter 的版本。
END

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
闲鱼如何在2个月内实现Android启动速度翻倍的?
作者: 海潴,锦逸 随着闲鱼App端更多新功能、新技术的加入,应用冷启动速度越来越慢,这也意味着用户看到有效内容的时间被拉长,对用户体验有着很大的伤害。目前,在内部测试版本中,我们已经将Android在低端机上的冷启动时间从原来的10s降低到了5s内。 闲鱼是如何快速将启动时间减少一半的呢?分为建立标准、分析现状、抓大放小三个步骤。 建立标准 做性能优化不是讨论哲学问题,建立合理的数据衡量标准非常重要。尽管已经有了很多关于如何卡口关键函数、如何判断页面第一帧渲染完成的讨论,但从代码层面进行判断始终与用户的感知无法100%得匹配。如何迅速建立起启动时间的标准?我们借鉴了手淘的方式和标准,利用内部的魔镜平台,使用视频关键帧的方式记录下App图标被点下到首页第一屏渲染完成作为一整个应用冷启动的过程。这与用户看到的启动过程吻合。 对于设备的选择上,我们使用y67这样一台现在看起来相对性能较差的机型作为优化的目标机型。低端机存在CPU能力弱,IO速度慢等问题,而慢代码与IO恰恰是拖慢应用启动最大的原因。定位优化的目标机型可以更加快速得解决common类型的启动问题。 闲鱼现状 我们先使用日志打点...
- 下一篇
mPaaS 移动安全加固正式公测上线:公有云限时免费体验
由于 Android 系统本身的开源特性,使应用极易遭到盗版侵袭、反编译破解等攻击,严重影响应用的数据与隐私安全。为解决上述问题,在 APK 上传至应用市场之前,先对 APK 进行加固并对加固后的 APK 进行兼容性测试,可最大限度保障应用不被破解。 mPaaS 移动安全加固,为 Android 移动应用提供稳定、简单、有效的安全保护,提升应用的整体安全水平,力保应用不被破解和攻击。 源于阿里淘系应用前沿的安全加固能力 高稳定性:全线覆盖安卓机型 —— 从 Android5.0 到 Android Q,全线覆盖主流安卓机型与系统版本。同时支持 Arm、Arch64、X86、X64,更可在复杂环境下稳定运行,兼容性行业领先。 高安全性:源于淘系业务深度锤炼 —— 源自于淘系、支付宝等亿级业务的深度锤炼与安全性考验,性能稳定,充分保障应用安全性。 产品原理及核心能力 通过对 Android 应用重新编译、加壳保护、修改其指令调用顺序等手段来增强应用的反破解能力。在加固过程中,注重加固强度与兼容性并重,避免一般加固功能由于盲目追求加固强度而导致加固后应用完全不可用的问题。 充分保障 App ...
相关文章
文章评论
共有0条评论来说两句吧...