写点什么

iOS 开发周报:Xamarin 宣布开源,Apple 向开发者推广宣传 Apple Music 相关 API

  • 2016-05-03
  • 本文字数:1907 字

    阅读完需:约 6 分钟

新闻

  1. Xamarin 宣布开源:Microsoft 收购了使用 Mono 进行跨平台开发的工具提供商 Xamarin 后,与本周将 Xamarin 各部件进行了开源,其中也包含 iOS 和 Mac 的相关组件。Xamarin 在之前完全变为免费,而本次的开源也预示了微软继续对这个项目进行开发和支持的愿景。对于同时开发 iOS 和 Android 应用的开发者来说,使用 C# 在同一个项目中对逻辑和 Model 部分进行开发维护是一件很吸引人的方式,而以 Xaramin 为代表的统一逻辑层以及各自原生的 UI 层在现在看来是一种相对稳定的跨平台开发方式。
  2. Apple 向开发者宣传 Apple Music API :Apple 在 iOS 9.3 中新加了 SKCloudServiceController 在内的一系列访问和更新 Apple Music 的功能,但是因为是在小版本中进行的更新,对于开发者来说缺少学习和了解的机会。为了让更多开发者及时了解相关 API 的信息,Apple 本周制作了一个介绍 Apple Music 相关 API 使用方法的网页,并通过邮件的方式通知开发者。如果你需要在项目中涉及访问或者操作 Apple Music 的话,可以关注一下。

教程

  1. ReactiveCocoa vs RxSwift :自从 ReactiveCocoa 以来,响应式函数式编程一直被不少开发者使用和喜爱。相对于命令式的编程方式,响应式编程在处理用户响应和事件流上天生的优势在不少时候能够简化代码,提高可读性。而在 Swift 中,后起之秀 RxSwift 更是抢尽风头。这篇文章为我们对比了 ReactiveCocoa 和 RxSwift 各自的优势和适用场景,如果你正打算在项目中尝试响应式编程的方法,这篇文章可能可以为你的基础框架选择提供一定建议。
  2. 去 model 化和数据对象:在我们构建项目时,一般都会有一个 Model 层来存储和表示数据。在应用的各组件或者各层中,我们是否应该直接传递这个 model 对象,是一个很重要的选择。因为对于 model 对象的传递,往往意味着向我们的代码中引入新的依赖,这在有些时候可能不是我们想要的结果。本文分析了在数据传递时的“去 Model 化”的一些想法以及对应的替代方式,如果又需要,可以在进行架构设计时进行参考。
  3. 聊聊 Swift 3.0 - 新版本对我们的影响:随着 WWDC 16 的临近,Swift 3.0 也将很快与我们见面。得益于 Swift 的开源和详细的发展进程表,我们可以提前预知 Swift 3 中稳定的 ABI (Application Binary Interface)、更加简洁的新 API 规范、更完善的跨平台支持等特性。新版本中的这些变化到底意味着什么,会对我们的开发产生什么影响,这篇文章从这些方面着手为我们进行了一些分析。
  4. Xcode Search: the Hidden Gems :Xcode 应该是大多数 iOS/Mac 开发者日常工作中最常用的 IDE 工具了。Xcode 其实为我们提供了十分强大的搜索功能,包括像是使用 Pattern 搜索、只搜索定义、自定义搜索范围等等特性。这篇文章为我们列举了那些不太常用但是绝对有效的提高我们搜索效率的方法,如果你经常困扰于使用 Xcode 的搜索却找不到想要的代码的话,这篇文章绝对值得一读。

开源项目

  1. SwiftOCR :SwiftOCR 是一个用 Swift 写的 OCR 框架,相比于 C++ 写的有三十年历史的 Tesseract ,作者宣称在识别数字和字母的准确性和效率上,SwiftOCR 都具有压倒性的优势。如果你恰好有识别像是验证码或者礼品卡上的数字和字母这样的需求的话,不妨尝试下这个框架。同时如果你在学习图像识别或者是人工智能之类的课题的话,这个项目也会 是不错的学习资料。
  2. CoreStore :Core Data 是 Apple 官方的数据关系图框架。虽然通过 Core Data 来使用和操作数据库可以不向项目中引入额外依赖,但是 Core Data 强大的功能的背后是较为陡峭的学习曲线和对开发者相对较高的技能要求。很多时候我们往往会选择一些替代方案或者对 Core Data 的再次包装和简化。CoreStore 就是一个基于 Core Data 的 API 封装,它能让我们利用 Swift 的特性以一种更好的方式使用 Core Data。
  3. Palau :Swift 提供的类型安全对现有的 Cocoa API 的改进是很有潜力的,而 NSUserDefaults 就是一个很好的改进案例。Palau 用类型安全的方式对 NSUserDefaults 进行了封装,同时也扩展了 NSUserDefaults 所能支持的类型,让我们可以用更好的方式使用 NSUserDefaults
  4. LeeGo :LeeGo 是一个尝试使用声明式的,可配置的和易复用的 UI 组件进行用户界面开发的方式。相对于直接创建和书写 UIView 的子类,LeeGo 通过创建 Brick 来将用户界面分解成一个一个的小块,然后再将它们进行组合并展示为完整的用户界面。相比于传统的 UIView,LeeGo 的 UI 创建方式是声明式的,并且能够通过 JSON 进行远程的更新,是一种十分具有吸引力的 UI 构建方式。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-03 19:003325
用户头像

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

关注

评论

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

数据分析之前知道这 7 件事,少花 80% 时间

龙国富

数据分析 数据采集

ConcurrentHashMap1-8源码解读及如何保证线程安全

爱好编程进阶

Java 面试 后端开发

梳理数仓FI manager节点健康检查逻辑

华为云开发者联盟

运维 GaussDB(DWS) Manager 健康检查 FI manager

PPDE迎新 | 欢迎18位AI开发者加入飞桨开发者技术专家计划

百度大脑

专有云如何精准、及时地实现故障定位?丨智能运维

百度大脑

存储成本降低80%,“大智慧”的选择

华为云开发者联盟

数据分析 存储 GaussDB(for Redis) 降本增效

大转盘抽奖

Rubble

4月日更 4月月更

自己动手写Docker系列 -- 6.2创建网络

Go Docker 4月月更

外包学生管理系统详细架构设计

Geek_bc9c8d

Apache SkyWalking 告警动态配置源码简析

爱好编程进阶

Java 面试 后端开发

三问三答,解传统企业敏捷转型担忧

华为云开发者联盟

DevSecOps 华为云 敏捷转型 Scrum团队 敏捷团队

前端食堂技术周刊第 33 期:IE 退休倒计时:3 个月、TypeScript 4.7 Beta、TypeScript 编译器工作原理、Rust 编码规范

童欧巴

前端 Web 前端工程师

大咖云集,星环科技春季新品发布周【数字化转型专题】精彩抢先看

星环科技

数据库

B站,牛逼!

爱好编程进阶

Java 面试 后端开发

聚焦信息抽取前沿难题,CCKS-千言通用信息抽取竞赛报名启动

百度大脑

BS-XX-020基于SSM实现停车位租赁系统

爱好编程进阶

Java 面试 后端开发

5分钟搞懂MySQL - 索引下推优化

爱好编程进阶

Java 面试 后端开发

深入解析 Apache BookKeeper 系列:第二篇 — 写操作原理

Apache Pulsar

开源 架构 云原生 中间件 Apache Pulsar

一次简单易懂的多态重构实践,让你理解条件逻辑

华为云开发者联盟

多态 条件逻辑 多态重构 基础逻辑

ModStart 是基于 Laravel 的模块化开发框架

ModStart开源

7步搞懂分布式全内容,我不信面试官还敢“怼

爱好编程进阶

Java 面试 后端开发

Eclipse快捷键 10个最有用的快捷键

爱好编程进阶

Java 面试 后端开发

[Day16]-[链表]反转链表

方勇(gopher)

LeetCode 数据结构和算法

Docker技术三大要点:cgroup, namespace 和 unionFS, 从理论到实践

Jerry Wang

Docker 容器 虚拟化 容器镜像 4月月更

检测、跟踪、行为识别All-In-One!产业级行人分析系统重磅开源!

百度大脑

数据结构之链表中的快慢指针

乌龟哥哥

4月月更

Linux驱动开发-编写超声波测距模块的驱动

DS小龙哥

4月月更

ERNIE-GeoL:“地理位置-语言”预训练模型

百度大脑

利用String.intern 减少相同值的String内存占用

lich0079

内存 intern java MAT String类

2021最新版SpringBoot实战项目教程,美团专家带你深入SpringBoot

爱好编程进阶

Java 面试 后端开发

JVM虚拟机,基础原理总结

Java JVM 虚拟机

iOS 开发周报:Xamarin 宣布开源,Apple 向开发者推广宣传 Apple Music 相关 API_移动_王巍_InfoQ精选文章