RapidView

Project Url: Tencent/RapidView
Introduction: RapidView is an android ui and lightapp developement framework
More: Author   ReportBugs   
Tags:

RapidView 是一套用于开发 Android 客户端界面、逻辑以及功能的开发组件。布局文件(XML)及逻辑文件(Lua)可以运行时执行,主要用以解决 Android 客户端界面、逻辑快速更新以及快速开发的诉求。RapidView 的 XML 语法规则与 Android 原生 XML 类似,而写逻辑的 Lua 部分除语言语法规则外,可以直接使用我们提供的 Java API 以及 Android 原生 API,因此熟悉 Android 客户端开发的开发者上手成本会非常小。

除了解决动态更新问题外,RapidView 希望 Android 开发者能够以更快的速度开发产品功能需求,因此我们在语法和开发方式上做了一些改变,期望开发者能够实现:小功能极速开发、大功能极速上线。

RapidView 希望为开发者带来更小的安装包增量以及更加简单、易于维护和修改的组件库,RapidView 的代码组件约 180KB(30KB 组件+150KB luaj)。

组件特性

  • 运行时加载,布局、逻辑可动态刷新

  • 无需编译,所见即所得,开发效率更高

  • 极小的安装包增量

  • Android 开发者低上手成本

  • 与 NATIVE 开发体验相同

快速上手

我们为开发者提供了一个简单的 DEMO,以及一个简易调试工具 Rapid Studio。Rapid Studio 除了支持简单的 XML 语法校验,Lua 语法高亮以及自动补全外,还可以实现实时调试,这将极大缩短开发者的调试成本。除了这个 exe 工具外,我们还提供了具有类似功能的 Visual Studio Code 插件。在 VS Code 商店中搜索:Rapid Studio 可以找到这个插件。

工程引入 RapidView

初始化 RapidView

将源码添加到工程目录下,在 Application 类的 onCreate 方法中添加如下代码进行初始化:

RapidPool.getInstance().initialize(this, null);

如果编译时需要混淆代码,请将*.rapidview.deobfuscated 目录保持非混淆状态

加载 RapidView

写一张简单的 XML 布局文件,保存在 assets/rapidview 目录下。打开 RapidConfig.java,在 VIEW{}的枚举中分配一个视图名,在 Map 中与 XML 关联。

XML 布局文件

<relativelayout width="match_parent" height="match_parent" backgroundcolor="ffabcdef">
</relativelayout>

RapidConfig.java

    /**VIEW 列表,此处配置仅为防止重名,便于索引。**/
    public enum VIEW{
        native_demo_view, //Demo 视图
    }

    /** VIEW 和 NaitveXML 的映射关系,当 View 不存在服务端下发的 XML 时,寻找本地 XML 作为默认布局 **/
    static{
        try{
            msMapViewNaitve.put(RapidConfig.VIEW.native_demo_view.toString(), "demo_view.xml");
        }
        catch (Exception e){
            e.printStackTrace();
        }

在需要加载 RapidView 的地方插入如下代码,即完成了简单的 RapidView 加载

        mRapidView = RapidLoader.load(
                RapidConfig.VIEW.native_demo_view.toString(),
                HandlerUtils.getMainHandler(),
                this,
                RelativeLayoutParams.class,
                map,
                null);

        setContentView(mRapidView.getView(), mRapidView.getParser().getParams().getLayoutParams());

开发与调试

打开 RapidConfig.java,将一个名为 DEBUG_MODE 的静态 boolean 成员的值改为 true 并在本地重新编译并安装到手机。打开 Rapid Studio 调试小工具,点击文件->打开,选择工程下 assets/rapidview 目录,打开。

    /**DEBUG_MODE
     * 调试模式是否开启,一般发布时需要关闭。开启调试模式后,可以在 rapiddebug 目录中配置调试文件。调试文件
     * 实时,并以最高优先级生效。强烈推荐使用 RapdiView 皮肤引擎专用调试工具 RapidStudio Studio 调试界面,调
     * 试时需要安装开启调试模式的包。**/
    public final static boolean DEBUG_MODE = true;

工具目录下有一个 rapid_config.ini 的配置,工程目录中 utils 目录下有一个 FileUitl 的文件,这两个地方配置的目录要对应起来,否则调试会失败。

修改 XML 中的任意可见参数,如 backgroundcolor,按 ctrl+s 保存,观察到 log 中提示“[100%]xxx”,表明文件被 push 到手机当中,重新加载当前 activity(返回重新进入),查看效果。

Rapid Studio

Visual Studio Code 插件

如果打算使用 Visual Studio Code,可在插件商店中搜索 Rapid Studio,相关介绍链接:

English Document

中文文档

Windows 工具

点击下载链接下载 Rapid Studio 工具包。

许可协议(License)

RapidView 使用 MIT 许可协议, 详见License文件。

其它

详细开发指南请参阅开发文档,如果有其它问题,可以扫描下方二维码,加入 QQ 群咨询

Support Me
Apps
About Me
Google+: Trinea trinea
GitHub: Trinea