NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:254091
用户头像

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

关注

评论

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

创业者需要知道的13种思维模型

俞凡

创业 认知

JavaScript 实现:输出斐波那契数列

编程三昧

JavaScript 大前端 数组 递归

迷惘的六月份

卢卡多多

生活状态 6月日更

「SQL数据分析系列」10. 重谈连接

数据与智能

数据库 sql 连接

给几位粉丝做完面试辅导后,我发现了一些问题!(Java岗)

Java架构师迁哥

深入了解java线程篇之ThreadPoolExecutor

邱学喆

线程池状态 任务提交 任务执行 动态调整线程池参数

阿里架构师通过“58个基于知识的实例+2个项目”来讲解Spring Boot

Java架构师迁哥

sftp的使用

Hello

Linux学习经验分享:搞定这六点,Linux命令So easy!

学无止境的阿奔

Linux 分布式 运维 C/C++

Linux之cat命令

入门小站

Linux

架构实践营模块7作业

Geek_649372

架构训练营

「SQL数据分析系列」9. SQL子查询

数据与智能

数据库 sql 子查询

浏览器设备信息UserAgent查询

入门小站

工具

JAVA 面向对象 (十二)-- 关键字 super

加百利

Java 关键字 super 6月日更

可编程网关 Pipy 第三弹:事件模型设计

张晓辉

我的书要出版啦~

石璞东

深度学习 tensorflow 大前端 计算机视觉 卷积神经网络

通证经济,一个正在狂奔的互联网数字经济时代

CECBC

计算机组成原理 寄存器实验详解(含工程文件)

若尘

计算机组成原理 6月日更

因子分解机(十九)

数据与智能

因子 分解机

JavaScript学习(十)---正则表达式

空城机

JavaScript 大前端 6月日更

gitlab服务端hook,拦截糟糕的提交到仓库

阿呆

gitlab hook

通俗易懂 !Kafka 开发快速入门看这篇就够了

云祁

Bigdata Kafk

(序)【Spring源码专题】展开Spring源码构建之旅(利用IDEA和Gradle)

洛神灬殇

spring 6月日更 源码搭建

Spring事件发布与监听机制

陈皮的JavaLib

Java spring 事件监听

网络攻防学习笔记 Day56

穿过生命散发芬芳

网络攻防 6月日更

A16z创始人马克·安德森:加密货币代表了技术运作方式以及世界运作方式的架构转变

CECBC

区块链使能的供应链金融——区块链信息治理

CECBC

前端面试 | 18个常见HTML问题与答案

devpoint

html xml 6月日更

[译] D8 优化

Antway

6月日更

基于机器学习的自动化测试弹窗处理实践

bilibili游戏技术

手机 自动化测试 yolo 弹窗

抖音电商发布创作者管理总则:如何明确带货主播和平台的责任

石头IT视角

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