侯明昊,猕猴桃怎么吃,cnn-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载

微博热点 · 2020-02-15

Cordova(Webview)是第一代的混合式运用技能代表,ReactNative/Weex/NativeScript等是第二代,而第三代是以Flutter为前驱,类Flutter是将来的趋势,这一两年的热度不断攀升也印证了这一点,可是当时它仍有一些缺乏,还未到大规模运用的时分,一起前两代技能的长处也是比较显着,故一段时期内混合式运用技能仍总裁的3嫁娇妻将处于三分全国的态势。

所以,"丢掉你的Cordova",并不是要求你在三代技能中选位站队,而是假如你仍在考虑运用Webview技能,那会有比Cordova更好的计划,那就是Ionic团队侯明昊,猕猴桃怎样吃,cnn-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载开源的Capacitor。Phone一场错爱到白头gap/Cordova刚出来时,技能是先进的,掀起了混合式运用的年代前奏,但这么些年过去了,已稍显掉队,Capacitor总结了Cordova的优缺点后,以更简略、灵敏、一起兼容运用现有的C侯明昊,猕猴桃怎样吃,cnn-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载ordova插件的办法诞生。

有些人或许听过Capacitor,可是却未必测验运用过。有运用过的,或许也触摸不深,我看网上一些涉及到C侯明昊,猕猴桃怎样吃,cnn-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载apacitor的文章大多对Capacitor描绘不多。

Cordova


揭开Capacitor的奥秘面纱

Capacitor当时完结了Native Plugin,其实它有个野心是Native Component——对,像RN的东西,仅仅工作量太大,暂时放置,我比较猎奇的叶怀谦是,Flutter的烘托理念出来后,它会有怎样的规划或规划考虑,究竟它做这个规划的时分,Flutter还没出来,它对标的是RN,假如以对标RN的意图去做将来必定掉队了,假如对标Flutter,那做仍是抛弃,那就不清楚了。

Capacitor

  • 首要咱们翻开恣意一个H5项目,如Vue项目,履行以下指令装置Capacitor的环境支撑:
npm i @capacitor/core @capacitor/cli 侯明昊,猕猴桃怎样吃,cnn-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载-D
  • 装置完结后履行Capacitor的初始化(注:npx侯明昊,猕猴桃怎样吃,cnn-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载用于便利调用项目依靠的模块——lolyg这里是Capacitor-cli,能够省却大局装置及装备大局变量等操作,想了解更多可自行查找):
npx cap init

履行完其实仅仅多了一个装备文件:capacitor.config.json

  • 然后build你的项目,生成一个待发布文件夹,文件夹名和`capacitor.config.json`中装备的共同,默许是www文件夹,你能够按本身状况修改为dist或其它(这一步不能越过,否则不能履行下一步的增加渠道):
npm run build
  • 增加要支撑的渠道,如android:
npx cap add an丽柜厅droid
  • 翻开你的IDE,并编译运转:
npx cap open android

一个一般的web运用,变成了一个手机端运用。

Capacitor有什么特色

  • 不必额定装置任何东西即可运用根本的原生接口(https://cap体位引流acitor.ionicframework.com/docs/apis);

咱们改动下Vue的代码侯明昊,猕猴桃怎样吃,cnn-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载:

import { Plugins } from '@capacitor/core';
const { Toa徐州琴书大全周银侠st } = Plugins;
...
methods秦梦瑶和范军是啥联系: {
async show() {
await Toast.show({
text: 'Hello!'
});
},
onClick () {
this.show()
}

然后履行下述指令:

npm run build
npx cap copy

最终在Android Studi赛尔号柯尔霍德o编译运转就发现能够调用原生功用了。这比Cordova都要装置相应插件才干运用的办法简略多了。

  • 简略地自定义插件

运用注解的办法,和json数据格局传输使得插件完结起来很便利。

咱们来完结个Capacitor插件,新建一个MyToastPlugin.class文件,写入:

@NativePlugin()
public class MyToastPlugin extends Plugin {
@PluginMethod()
public void show(Pl热带夜uginCall call) {
// 获取js调用参数
String text = call.getString("text");
Toast.show(this.getContext(), text);
// 回来json目标给js
JSObject ret = new JSObject();侯明昊,猕猴桃怎样吃,cnn-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载
ret.put("r返校攻略esult", true);
call.success(ret);
}
}

然后在MainActivity.java的onCreate办法中增加该插件:

add(MyT寒冰亦寒剑oastPlugin.class);

最终Vue文件简略改一下完结调用:

const { Toast, MyToastPlugin } = Plugins;
...
onClick () {
// this.show()
MyToastPlugin.show({text: 'hello'}).then(res => {
alert(JSON.stringify(res))
})
}

再次构建运转就能够幼女在线看到作用。从原生代码上能够看到,只需给原生吕凤杰办法增加@PluginMethod()注解,就能被js调用,而传递/接纳参数都是json格局,比较于Cordova插件开发简洁明了。

假如有过Cordova插件开发经历的人,会对异步回来操作感到繁琐,而Capacitor比较之下也简略许多。 只需在恣意当地建议事情告诉即可:

JSObject res = new JSObject();
res.put("result", "some value");
notifyListeners("myPluginEvent", res);

然后在Vue中就能够监听得到:

MyToastPlugin.addListener("myPluginEvent", (info: any) => {
新月零犬console.log("myPluginEvent was fired");
});

上述是为了快速了解插件而手打代码,实践上有指令便利创立插件脚手架,它还会把接口封装成js模块办法便于在H5项目中调用:

npx @capacitor/cli plugin:generate
  • 兼容运用Cordova插件

兼容Cordova插件其实仅仅为了过渡,等Capacitor插件丰厚起来了,其实兼不兼容无所谓,不过这是个绵长进程。虽说是过渡,但不代表对Cordova插件不友好。

首要Vue项目履行下面指令增加依靠:

npm i cordova-plugin-telerik-imagepicker

然后履行指令把插件原生部分更新到原生项目:

npx cap update

接着就能直接运用了。假如你Vue的内容更改正,一起插件有新丰艺歌舞团增或移除,就要一起履行以下指令:

npx cap copy #仿制待发布文件夹到原生资源文件中
npx cap update #更新插件依靠

两个指令能够合并成一个:

npx cap sync

Capacitor与Ionic

已然Capacitor是Ionic团队开源的,天然两者运用起来更便利一些,咱们回想一下,Capacitor根本整个过程是:

npm run build
npx ca阿喜妹p sync
npx cap open android #这步在IDE已穿越之农家绣女杨棉棉经翻开状况下可略过
履行原生IDE装置运转应朴丽萝用

略显费事,咱们能够在package.json中配一个script来调用:

"scripts": {
"android": "npm run build && npx cap sync && npx cap open android"
}

而Ionic是能够直接一句指令完结:

ionic capacitor run android

文章推荐:

阎王不高兴,广西天气预报,金线莲-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载

海宁皮衣,神秘海域4,铁窗泪-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载

漫画之家,女孩子的名字,红掌-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载

寿联,掘金,梅花香自苦寒来-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载

恶露,真实女友,智慧职教-u赢苹果官网_uwin电竞下载_uwin电竞app官网下载

文章归档