zoukankan      html  css  js  c++  java
  • WinObjc

    Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天。WinObjc项目就是Build 2015大会上微软宣布的Project IslandWood项目,致力于将iOS应用快速移植成UWP应用。废话不多说,让我们来看看WinObjc项目到底如何使用。

    开始之前


     

    开始转制iOS项目前我们要先部署好WinObjc工具,工具链如下:

    1. 一台安装了Visual Studio的Windows 10 PC,2015社区版可以直接下载:免费下载
    2. 安装转制iOS应用的WinObjc Bridge工具,直接下载:Github
    3. 准备一些可以使用的iOS项目,github上有不少开源项目

    注意:确定你已经安装了Windows 10 SDK, 不然无法生成使用UWP项目。

    此外,还可以直接使用微软已经配置好的评估版Windows 10开发环境虚机。虚机里已经配置好了最新的满足需求的开发环境,方便你快速在Mac或PC上使用评估最新工具。针对不同虚机的下载地址如下:

    使用方法


     

    在将下载后的Winobjc.zip文件解压到本地文件中后,我们就有了可以直接使用的iOS Bridge工具了。这里我使用的是iOS著名HUD框架MBProgressHUD的示例项目做测试,下载地址如下:https://github.com/jdg/MBProgressHUD

    其中我们主要使用vsimporter工具,使用步骤如下:

    1. 打开命令行,并定位到iOS项目所在的目录中。 cd C:UserschangweiDesktopiOSMBProgressHUD-masterDemo
    2. 从命令行中运行vsimporter工具。 C:UserschangweiDesktopwinobjcinvsimporter.exe 
    3. vsiimporter自动排除了目前还不支持的测试项目和tvOS项目,生成了一个UWP项目,结果如下:

        4.可以看到已经生成了sln解决方案文件,直接打开即可

    5.Winobjc文件夹bin目录下有个Objective-C语言高亮插件objc-syntax-highlighting.vsix,大家别忘了安装哦。当前解决方案sln文件双击打开后就是一个标准的UWP项目,直接Ctrl+F5运行此项目。

        第一次编译生成要较长时间,然而最蛋疼的是编译失败了,拜拜(果然还是大坑)。

          

        之后又尝试了很多iOS项目包括Apple开发者中心下载的一些示例项目。大部分都会编译错误,少部分能运行的很多UI界面和功能都不对,目前除了官方自带的Winojc示例项目外还没有能正常运行的。

        我们来看看官方能运行的示例项目实际运行效果是什么样子的,如下:

        

    列表视图 UITableView

    集合视图 UICollectionView

    图片视图 UIImageView

     

    我试着写入了一段Objective-C代码到项目中,会在当前窗口添加一个橘黄色的视图,如下:

     

    UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(0,0,200,200)];
    testView.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:testView];

    编译运行后,确实执行也没有问题,功能也是正常运行的,如下:

     

    总结


    Winobjc项目看着很美,但目前还是一张不堪使用的大饼。搞了一年,总归比开始进步多了,重写支持了大多数的iOS基础库,UIKit之类的基本framework完成度都挺高的,AutoLayout、Storyboard和XIB也都支持了,但是未来还有很长的路要走。目前大家还是可以尝尝鲜的,其实在我看来与其照搬重写iOS framework,倒不如开发一套支持Objective-C的Windows开发框架,想比也比现在好多了,不至于被iOS牵着鼻子,问题不断。

     

  • 相关阅读:
    第十一章、集合
    第十章、正则表达式
    第九章、常用类
    第八章、面向对象高阶
    第七章、面向对象初识
    第六章、数组
    第五章、循环结构
    第四章、分支结构
    第三章、Java变量与数据类型
    Linux安装MySQL5.7(CentOS)
  • 原文地址:https://www.cnblogs.com/mantgh/p/5727603.html
Copyright © 2011-2022 走看看