AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

iOS 开发周报:微软开源 WinObjC,用 Objective-C 开发 Windows 应用

  • 2015-08-10
  • 本文字数:1672 字

    阅读完需:约 5 分钟

新闻

  1. 微软开源 WinObjC :本周微软开源了他们 Windows Bridges 计划中的重要一环 - Windows Bridges iOS - 中的关键内容。iOS 开发者们现在可以使用熟悉的 Objective-C 语言和微软全盘重新实现的 Cocoa 框架来在 Windows 平台上开发 app。你甚至可以直接把原来的 Xcode 项目导入到 Visual Studio 中经过调整运行,来构建一个 Windows app。这是继 Windows Mobile 中内嵌 Android 后微软为了拯救自家移动平台的又一努力,但是开发者们会不会有所转变还有待观察。
  2. Apple 官网改版,商店不再使用独立二级域名:最近 Apple 将原来的 store.apple.com 的停用,而将商店和购买的选项合并到了产品介绍的页面上。之前的设计其实被诟病已久,经常会有客户无法找到购买按钮。而现在用户能在同一个站点上了解产品特性并很方便地进行购买了,在设计上可以说是巨大的进步。

教程

  1. WWDC15 Session 笔记 - 30 分钟开发一个简单的 watchOS 2 app :Apple Watch 和 watchOS 第一代产品只允许用户在 iPhone 设备上进行计算,然后将结果传输到手表上进行显示。在这个框架下,手表充当的功能在很大程度上只是手机的另一块小一些的显示器。而在 watchOS 2 中,Apple 开放了在手表端直接进行计算的能力,一些之前无法完成的 app 现在也可以进行构建了。这篇文章通过一个很简单的天气 app 的例子,讲解了 watchOS 2 中新引入的一些特性 (如 complications 和 WatchConnectivity) 的使用方法。
  2. Using Cocoapods with watchOS 2 :watchOS 2 的依赖库现在也随着 watch app 一起转移到了手表上,这样一来,之前直接使用 CocoaPods 为 watch extension 设置依赖的方法也失效了。这篇文章说明了如何在 podspec 中添加 watchOS 2 的支持,以及在使用时应该如何更改 Podfile 以支持 watchOS 2。
  3. Advanced NSOperations :这篇文章从 NSOperationNSOperationQueue 的基础入手,阐述了基于 Operation 的思路来构建一个 app 的基本方法,思路非常新颖。这种架构方法的基本思想是将复杂的任务拆分成粒度更细的 Operation,然后再进行组装。当然,在实际操作中可能会遇到不少挑战和对最佳实践的探索,但是作为加深对 NSOperation 的理解的话,这篇文章是绝对值得一读的。
  4. How Not to Crash :作者是 Omni 系列软件的开发者之一。这个系列是作者今年开始的专题,列举和分析了一些在 iOS/OSX 开发中常见的由开发者引入的导致 app 崩溃的错误代码。其中每篇文章都结合了作者自己丰富的软件架构经验和感悟,不论对于新人还是已经富有经验的 iOS 开发者,逐条对照并反思自己在开发中的做法,能有效避免在今后引入这些潜在的问题。这个系列依然在继续,可以持续关注。

开源项目

  1. WinObjC :虽然这个项目不知道能不能改善 Windows Phone 的现状,但是它还是本周最值一提的开源项目。虽然这个项目还处于非常前期,虽然我们可能在之后一段时间里并不使用它进行 Windows app 的开发,但项目里的一些内容还是很值得玩味的。微软在这个项目中完整地重新实现了包括 UIKit 在内的一些 Cocoa 框架,目测应该是在对 Apple 的框架进行逆向后的改写。如果你想了解一下 Cocoa 内部的实现,也许闲暇的时候看看这个项目的源码会是很有意思的选择。
  2. spacetime :Facebook 开源的一个实验性质的库,它可以用来实时地对 layer 进行变形操作。你可以将这个库想象为在 CALayer 上添加了一些网格,通过操纵这些网格的形状和数量来让一个 layer 呈现不同的形状,比如圆柱形或者锥形的 view。这个框架使用了CAReplicatorLayer 以及 time hierarchy 来进行实现,在一般开发中这两者都是鲜为人知的,阅读看看是如何实现的会很有意思。

工具

  1. Pixel Winch :一款可以在截图上测量各个元素之间距离的 OSX app,开发者可以截取模拟器或者真机上的图片来确定 UI 元素的位置是否满足设计需求,设计师也可以用它很方便地来进行一些标注工作。

感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-10 08:254346
用户头像

发布了 59 篇内容, 共 22.5 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

LeetCode题解:200. 岛屿数量,DFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

冲突域和广播域区别,集线器、交换机和路由器对比

加油,成功通过阿里P7Java岗面试,分享一些面试心得

Java架构之路

Java 程序员 架构 面试 编程语言

《我们一起学集合》-ArrayList

蚊子

数据结构 面试 ArrayList JAVA集合

当视频恋爱 App 用上了 Serverless

阿里巴巴中间件

DevOps到底是什么意思?

xcbeyond

DevOps 方法论 软件测试 28天写作

28天瞎写的第二百三十一天:一次被骗的故事

树上

28天写作

悟透前端 | javascript中变量声明var、let、const的区别

devpoint

var const let js变量声明

对机器视觉领域的几点看法

JiangX

机器视觉 28天写作

产业区块链蓬勃发展 联盟链成为落地应用最大杀器

CECBC

区块链

北京朝阳法院借力区块链化解物业纠纷

CECBC

法院调解

讲真,一位8 年 Java 经验大牛的面试总结,你照猫画虎还怕收不到offer?

Java架构之路

Java 程序员 架构 面试 编程语言

谁能拯救终将凋落的头发「幻想短篇 21/28」

道伟

28天写作

我国首个自主可控区块链软硬件技术体系发布

CECBC

区块链

微服务“大门”如何选择?

阿里巴巴中间件

宙斯运维平台简述,看数十万云服务器如何高效运维?

李忠良

28天写作

智能电动车的估值模式及电气架构变迁 (28天写作 Day21/28)

mtfelix

汽车电子 28天写作 智能汽车 汽车电气架构

服务网格的最佳实践

阿里巴巴中间件

“复制”马斯克(二):“一无所有”的世界首富想要什么?

脑极体

在游戏运营行业,函数计算如何解决数据采集分析痛点?

阿里巴巴中间件

《携程技术2020年度合辑》,送给爱学习的你

携程技术中心

阿里云重磅发布云拨测产品:深度挖掘数据,精准定位 IT 问题

阿里巴巴中间件

2021直播电商下半场,“网易严选们”为何成主播良港?

脑极体

编程小技巧之 Linux 文本处理命令(二)

程序员历小冰

Linux 编辑器 sed

如何查看github评价

Albert

GitHub

批判性思维自修课(三)

石君

28天写作 批判性思维

阿里直招怒斩“P7“offer,自曝狂啃六遍的面试笔记

Java架构之路

Java 程序员 架构 面试 编程语言

CSS(七)——设置背景颜色和背景图像

程序员的时光

程序员 大前端 七日更 28天写作

2021年了,还听到有些兄弟在问Kafka香不香?

后台技术汇

28天写作

Java 创建线程有哪些方式

武哥聊编程

Java 多线程 28天写作

折腾CUDA环境,搭建TF2开发环境

IT蜗壳-Tango

七日更

iOS开发周报:微软开源WinObjC,用Objective-C开发Windows应用_移动_王巍_InfoQ精选文章