Skip to content

MeeUI环境搭建

xu.jingyu edited this page May 18, 2020 · 8 revisions

概述

搭建MeeUI开发环境,操作步骤如下:  
1. 安装IDE开发环境,包括 IntelliJ IDEA 和 Xcode; 
2. 在IDEA中新建工程,创建 .llua 文件并编写代码;
3. 打包 llua 工程;
4. 客户端配置打包的 llua 工程,并加载界面完成通信;

一、安装IDE

1.1 IntelliJ IDEA.

  1. 下载IDEA,IDEA下载地址,可选择社区版本,无需注册码,下载安装包后,一路默认安装即可。
  2. 安装EmmyLua插件(该步骤可能要省略,MMPaas里集成了EmmyLua)
    EmmyLua下载地址,依次选择 IntelliJ IDEA -> Preferences -> Plugins -> ⚙ -> Install Plugin from Disk...,选择下载好的EmmyLua,然后重启Idea即可。
  3. 安装MMPaas插件.
    下载MMPaas,依次选择 IntelliJ IDEA -> Preferences -> Plugins -> ⚙ -> Install Plugin from Disk...,选择下载好的MMPaas插件,然后重启Idea即可。

1.2 Xcode

可从AppStore中自行下载。

二、新建LLua工程

  1. 在Idea中,依次选择 File -> New -> Project,工程类型选择 LLua ,点击 Next,工程命名为 HelloWorld,点击 Finish

  2. 创建 .llua 文件
    src 目录下,右键 -> New -> New LLua File,文件名命名为 HelloWorld
    此时,src 目录下会生成HelloWorld.llua和对应的HelloWorld.lua文件,其中,在.llua文件里写声明式布局,.lua文件里会生成与声明式布局对应的lua代码。编辑好HelloWorld.llua文件后,在模拟器里可以看到效果。

三、打包 LLua 工程

打包成功后,会在工程目录中生成对应的lua文件和OC类。

四、客户端工程配置

  1. 在Xcode中新建iOS工程
  2. 配置
    1)在Podfile中添加 pod 'MLN','1.0.0.10.beta'
    2)将第三步生成的lua文件和OC类(iOSViewModel文件夹下的内容)拖到iOS工程目录中,Added folders选择Greate groups

五、客户端加载和通信

在ViewController.m中添加如下代码:

#import "HELLOWORLDUserData.h"
#import <MLNKit.h>

@interface ViewController ()

@property(nonatomic, strong) HELLOWORLDUserData *model;

@end

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    // 1. 创建一个MLNKitViewController示例
    MLNKitViewController *viewController = [[MLNKitViewController alloc] initWithEntryFilePath:@"HelloWorld.lua"];

    // 2. 创建数据流,并做绑定
    self.model = [[HELLOWORLDUserData alloc] init];
    self.model.title = @"Hello World";
    [viewController bindData:self.model forKey:@"userData"];

    // 3.1 通过present展示
    [self presentViewController:viewController animated:YES completion:nil];

    // 4. 设置定时器,
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        self.model.title = @"welcome";
    });
}

效果图:

Clone this wiki locally