AppCan是一个Hybrid App框架。支持Hybrid混合应用开发模式,集合WebApp和NativeApp两者优势。
本身提供了丰富的插件调用功能:系统类、UI界面类、网络类、第三方扩展类。在2.0版本中,专门开放了Native插件扩展接口。自定义Native插件扩展机制,以满足开发者的定制需求,也可以提交至插件仓库给大众分享。AppCan还提供了Windows版本的IDE(http://newdocx.appcan.cn/index.html?templateId=368),帮助开发者使用HTML5快速构建本地应用。
本文对iOS版的AppCan开发环境做了一下整理。https://git.oschina.net/arbull/appcan_plugin_develop.git中提供了一个完整的AppCan源码调试、插件开发与调试环境。先介绍几个目录:
1. AppCanEngine:这是AppCan的核心。开发新功能插件之前,先运行AppCanEngine.xcodeproj,生成静态库libAppCanEngine.a。AppCanEngineDebugProject.xcodeproj是基于PluginDebugProject工程中的代码与H5页面对AppCanEngine进行源码调试学习的工程。
2. PluginDebugProject:调试插件的工程;
3. DynamicLibraryProject:生成AppCanIDE所需要的动态库(uexPluginName.dylib);
4. StaticLibraryProject:生成AppCan云打包平台所需要的静态库(libuexPluginName.a);
5. PluginSource:存放新功能插件的文件。开发新插件时,只需要在这个目录下修改即可;
6. Product:工程target生成存放的路径;
开发新功能插件时,只需要做以下几步:
1. 把PluginSource目录下的EUExPluginName类名中的PluginName替换为新插件的名字;
2. 把DynamicLibraryProject和StaticLibraryProject工程的target的Product Name修改新插件的名字,只需替换其中的PluginName;
3. 把Product目录下的info.xml和plugin.xml中的PluginName替换为新插件名字。
关于插件在AppCanIDE的调试,把DynamicLibraryProject生成的uexPluginName.dylib,和info.xml、plugin.xml拷贝到一个文件夹下(文件夹名:uexPluginName),然后压缩成一个zip包,然后传到IDE里面即可。