写点什么

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

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

关注

评论

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

AI大模型在电商商家端自定义报表分析中的应用与实践

百度开发者中心

人工智能 电商 大模型

NineData和Klustron完成产品兼容互认证

NineData

数据库 数据管理 NineData Klustron 泽拓昆仑

阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference

Apache Flink

两千字讲明白java中instanceof关键字的使用!

EquatorCoco

Java 软件开发 开发语言 关键词

热更新适配ibatis原理浅析

京东科技开发者

万字图解|深入揭秘 (数据链路层、物理层) 工作原理

云舒编程

IP 物理层 路由 图解网络 数据链路层

合合信息启信数据发布园区金融解决方案,助力银行精准服务“十四五”特色产业

合合技术团队

大数据 金融 合合信息 启信慧眼

三个方面浅析数据对大语言模型的影响

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 大语言模型

软件测试/测试开发|学习两个个月后拿到4个知名企业Offer,他是怎么做到的?

霍格沃兹测试开发学社

人工智能大模型多场景应用原理解析

百度开发者中心

人工智能 图像识别 大模型

AI大模型低成本快速定制秘诀:RAG和向量数据库

百度开发者中心

人工智能 数据库 大模型

用游戏盾会掉线吗,游戏出现掉线或者卡顿的可能有哪些原因

德迅云安全杨德俊

定制+轻量级低代码:满足客户个性需求的最佳实践

天津汇柏科技有限公司

低代码 软件定制开发 软件开发定制

文心一言 VS 讯飞星火 VS chatgpt (186)-- 算法导论14.1 3题

福大大架构师每日一题

福大大架构师每日一题

租赁舞台LED屏的注意事项及问题排除

Dylan

活动 LED显示屏 led显示屏厂家 效果广告

foobar2000 for mac多功能音频播放器 v2.6.1免激活版

Rose

mac音乐播放器 foobar2000中文版 foobar2000破解版

《Hive编程指南》读书笔记

京东科技开发者

CES 2024的亮点仅仅聚焦AI深度赋能和产业创新吗?| DALL-E 3、Stable Diffusion等20+ 图像生成模型综述

GPU算力

WorkPlus移动应用管理平台,助力企业实现高效移动办公

WorkPlus

想在 Mac 里装 Windows ?试试 Parallels Desktop虚拟机!

Rose

Windows系统 Mac双系统安装 Parallels Desktop

万字图解 | 深入揭秘IP层工作原理

云舒编程

IP MTU 路由表 子网划分 图解网络

火山引擎VeDI:新增微信小程序广告A/B实验功能,助力企业降低获客成本

字节跳动数据平台

数据库 大数据 ab测试 企业号 1 月 PK 榜 对比实验

测试管理 | 入班第二个月后拿到4个知名企业Offer,他是怎么做到的?

测吧(北京)科技有限公司

测试

荣耀开发者大会 2023 · 一张图读懂极致体验分论坛

荣耀开发者服务平台

QSpace Pro 一款简洁高效的多窗格文件管理器,灵活且实用!

Rose

Mac软件 QSpace 多窗格文件管理器

【技术探讨】如何选择一款距离远的无线通信模块?

Geek_ab1536

4个知名企业Offer拿到手软,他是怎么做到的?附面试真题

测试人

软件测试

跨境电商如何利用item_get-根据ID取商品详情(shopee.item_get)提升用户体验?

技术冰糖葫芦

API 编排

申万宏源基于 StarRocks 构建实时数仓

StarRocks

数据仓库 数据分析 实时数仓 StarRocks

vivo 海量基础数据计算架构应用实践

vivo互联网技术

大数据

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