说说背景,之前在微信开发了一个工具类的小程序,小程序的日访问量和用户数还可以,但发现随着用户量的累积,一方面发现对于这类工具小程序,受限于微信小程序平台规则,很难对用户进行更深入的运营,用户流失问题也将逐渐凸显出来。另一方面,其实自己一直想去系统的开发一个App,但又限于对原生技术掌握的不够深入所以一直没有上手去做。
在技术社区突然看到已经有比较成熟的「小程序转 App」工具后,便有了把现有小程序直接通过工具转为 App 的念头。
先总结下自己整体使用的感受,我使用的是 FinClip 的 IDE 转 App 功能,整个过程其实比较简单,不需要太多的技术要求,傻瓜式的操作,基本上会小程序的上下架就可以直接完成整个过程。其中比较亮眼的是,通过 IDE 工具可以通过云编译直接导出 App 的安装包,同时也能在 IDE 里面直接配置logo、开屏动画、权限等内容,这两个步骤能够避免到 Xcode 和 Android Studio 去进行配置。
下面我也把自己在 FinClip 小程序转 App 的步骤大家简要介绍下,更详细的内容可以直接查阅官方给的文档:
https://www.finclip.com/mop/document/develop/developer/convertApp.html#_1-2-%E9%85%8D%E7%BD%AE%E5%B7%A5%E7%A8%8B
直接在 FinClip 的官网下载安装最新版本的 IDE 工具:https://www.finclip.com/downloads
这里的配置包括了logo、开屏动画和权限配置。
打开 App 配置窗口
1、App 图标配置
App 图标配置分为两种模式: 简单模式和定制模式。
2、 启动闪屏配置
这里是启动 App 的闪屏画面配置,根据提示上传相应尺寸的图片即可。
3、URL Scheme 配置
App URL Scheme 配置, 目前 iOS、Android 均只支持一条 URL Scheme 配置。
4、权限配置
看了下 App 权限配置,目前 iOS 支持的配置权限有:读取相册、使用麦克风、获取位置、使用相机。Android 支持的配置选项有:位置相关权限、相机相关权限、I/O 相关权限、麦克风相关权限。
特别说明的是,FinClip 兼容微信小程序语法,可以直接将微信小程序代码包导入 IDE 进行编译,我的试过后发现可以顺利的编译,速度也比较快。
在打开了小程序的页面后,可以点击右上角的「生成 App」按钮,并点击页面中的「下一步」开始后续流程。
选择该已上架的小程序所被关联的小程序,以及小程序对应的应用信息及 BundleID,随后点击页面中的「下一步」继续流程。
这里也要特别说明下,编译后记得上传到 FinClip 的后台,这样这里才能顺利的进行关联选择。
选择小程序转为 App 的工程文件目录后,点击完成按钮。
提供了云打包和本地编译两种生成 App 安装包的方式,不用看推荐直接选云打包就可以了,本地编译还需要自己到 Xcode 和 Android Studio 去进行编译配置。
1、配置 App 所需的证书信息
安卓配置证书:
参考 安卓构建应用(opens new window)进行证书的配置导出
上传生成的证书,并填写证书别名(Key alias),证书私钥(Key password),文件私钥(Key store password)。
iOS配置证书:
参考iOS证书配置(opens new window)进行证书配置导出
上传生产、开发环境的证书、证书密码、描述文件。
完毕后,点击下一步即可进入云端编译,稍等片刻,等待编译完成即可。
2、查看云打包进展
打开 查看云打包进展,当前的云打包任务的进展现实编译成功,即可选择下载链接下载应用。
下载后的即为可直接上传应用商店的安装包,整个小程序转 App 的过程也结束了。
我个人认为这种小程序转 App 的模式非常友好,能够让已经有成熟小程序的开发者在无需掌握原生技术的情况下快速的就生成 App。
我整个过程使用下来,是无需任何付费的,这点又要大大的点一个赞,对开发者真的很友好。也看下官网的产品介绍写到,由于生成的 App 中运行的小程序是在 FinClip 上面跑,会对小程序的调用次数有一定限制,每月1万次的免费额度,如果后续如果每月的调用次数超过1万次,也可以购买包年套餐,价格也可以说非常亲民。
经过前一天Messenger应用平台、Parse物联网开发者工具等惊喜的轰炸,Facebook于今天凌晨在F8开发者大会上正式开源了React Native。不过目前,只有iOS版,Android版还需要再等一段时间,这是最新的用JavaScript语言开发原生App的尝试,其示例代码相当简洁,内置控件也不少。同时还为React Native开发了一款基于Atom的IDE——Nuclide,也已开源。
React Native主要特性如下:
React Native主张“Learn once, write everywhere”而非其他跨平台工具一直宣扬的“Write once, run everywhere”。通过React Native,开发者可以使用UITabBar、UINavigationController等标准的iOS平台组件,让应用界面在其他平台上亦能保持始终如一的外观、风格。
var React=require('react-native'); var { TabBarIOS, NavigatorIOS }=React; var App=React.createClass({ render: function { return ( <TabBarIOS> <TabBarIOS.Item title="React Native" selected={true}> <NavigatorIOS initialRoute={{ title: 'React Native' }} /> </TabBarIOS.Item> </TabBarIOS> ); }, });
JavaScript应用代码和原生平台之间所有的操作都采用异步执行模式,原生模块使用额外线程,开发者可以解码主线程图像、后台保存至磁盘、无须顾忌UI等诸多因素直接度量文本设计布局。
React Native引入了一个类似于iOS上Responder Chain响应链事件处理机制的响应体系,并基于此为开发者提供了诸如TouchableHighlight等更高级的组件。
var React=require('react-native'); var { ScrollView, TouchableHighlight, Text }=React; var TouchDemo=React.createClass({ render: function { return ( <ScrollView> <TouchableHighlight onPress={=> console.log('pressed')}> <Text>Proper Touch Handling</Text> </TouchableHighlight> </ScrollView> ); }, });
Facebook在 React Native的主页上详细介绍了React Native的种种功能特性,想要了解更多细节,可直接进入主页查看,而其为React Native搭配的开源IDE Nuclide支持React Native、Web和原生移动开发,基于Atom构建,不过也需要翻墙。
builder是我们开发的一个打包网站的平台,可以非常方便的把一个手机网站做成APP,也可以直接打包h5代码,免费使用!
下面介绍如何使用lbuilder打包一个网站,并安装到手机测试。
分七步进行
1、注册lbuilder平台账号
2、创建APP、配置基本信息
3、配置扩展插件
4、配置打包项目
5、配置安卓证书
6、配置ios证书
7、编译APP
一、注册lbuilder平台账号
1、打开lbuilder官网http://www.lbuilder.com,点击右上角注册一个账号。
二、创建一个app
1、登录lbuilder平台点击制作APP,进入APP管理后台,点击左侧新建应用。
2、填写APP基本信息
设置好保存下一步
3、设置应用图标和启动图。
设置好保存下一步
三、设置插件
根据app需求,选择插件配置。
四、选择打包项目
可选择打包网址,或者直接打包代码。
lbuilder可以直接打包H5代码,如果没有搭建域名,只有代码也可以很方便的打包成APP。
1、选择代码打包,下载代码模板,解压有两个文件夹。
2、复制代码到代码模板
点击www文件夹,删除代码模板里面的两个文件,复制你的代码到这个文件夹。
3、重新压缩为zip包,上传打包
五、配置安卓证书
可以申请自定义证书配置,也可以使用系统自带证书打包。
六、设置ios证书
可自己申请证书打包也可以使用系统证书打包
ios证书申请比较复杂,需要苹果开发者账号才能申请。如有越狱手机,可以直接使用系统ios证书打包越狱版安装测试。
ios证书申请比较复杂,耐心看下。
申请ios证书需要一个苹果开发者账号
ios证书分开发证书和发布证书,这里首先申请个开发证书,先打包安装到自己手机测试。
iOS开发证书申请教程(真机调试测试)
iOS发布证书申请教程(上架App Store)
申请好证书会得到两个证书文件.p12和..mobileprovision,这是一套证书。
选择.p12和.mobileprovision文件上传,输入之前创建ios证书设置的密码,保存!
七、打包编译APP
可选打包安卓或者ios
如此就完成了网址或者代码打包成app
*请认真填写需求信息,我们会在24小时内与您取得联系。