Giter Club home page Giter Club logo

ios-weekly's Issues

Python Swift 无缝交互提案

https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171204/042029.html

Chris Lattner 大神到了 Google 之后的第一个提案,让 Swift 可以和 Python 无缝交互,Chris 每次提案基本上都会带上 Demo,这一次也不例外,只用了不到一千行代码就把交互逻辑给实现了出来🤷‍♂️,大家可以直接下载这个 playground 试一下用 Swift 写 Python 是什么感觉。

另外 Chris 还提出使用一套 DynamicMemberProtocol 去优化了 Python 交互的语法, 与 Python 的交互都是依赖于字符串,画风大概是这样的 let a = np.call(member: "arange", args: 15).call(member: "reshape", args: 3, 5),如果实现了 DynamicMemberProtocol 的话,就可以在 Swift 里像 Python 代码一样调用 Python 的方法 np.arange(15).reshape(3, 5),编译器不会给遵循了这个协议的对象做静态检查,但这本质上只是一个语法糖,编译时还是会转化为前者的格式去调用。

Apple 拿下 iPhone X 外形设计专利

美国专利商标局报告显示,苹果已经拿到了 iPhone X 的外形设计专利。不过据最新报道,此专利并非针对「刘海」造型提出,而是著重边框上的按键、天线断点、扬声器等处细节。另外,iPhone X 的「刘海」部分集成了多达 8 个传感器(比 iPhone 8 多 3 个),分别是红外镜头、泛光感应元件、点阵投影器。

http://www.patentlyapple.com/patently-apple/2018/01/apple-wins-patent-for-iphone-x-design-and-carplay-with-turn-by-turn-navigation.html

QUIC 协议初探 - iOS实践

QUIC(Quick UDP Internet Connections)是基于 UDP 的 WEB 开发协议 TCP + TLS + HTTP2 = UDP + QUIC + HTTP2’s API,由 Google 开发,希望其取代 TCP,加快网页传输速度。还计划提交至 IETF,成为下一代的正式网络规范。文中详细介绍了 iOS 平台下集成方式及与 HTTP2 的对比数据。

https://mp.weixin.qq.com/s/NbewZ1NU49qSjIcdFrpotw

微信团队正式发布 WCDB Swift

https://mp.weixin.qq.com/s/mf-JDZrTHAS0ViJBbpC1cA

WCDB 是微信团队开源的 SQLite 数据库,适配移动终端的场景,具有以下特性:

  • 线程安全且并发
  • 基于 SQLCipher 的加密机制,可为数据安全提供一定程度的保障
  • 提供简单易用的全文搜索接口,并包含适配多种语言的分词器
  • 损坏修复:内建的修复工具可以在系统错误、磁盘故障等情况下,最大限度地将损坏的数据找回并导出

WCDB 最早于 2017 年开源,iOS 平台最初只有 ObjC 版本,由于引入了 C++ 代码,ObjC 版本并不能直接 bridge 到 Swift。微信团队从 2017 年 9 月开始使用原生 Swift 重写 WCDB,并于 10.10 和 11.8 发布了 alpha 和 beta 版进行测试,终于在 2018.01.01 发布 WCDB Swift 的第一个正式版本。

WCDB Swift 使用 Pure Swift 编写,几乎不包含 Cocoa 的代码,且与 ObjC 版保持完全一致的功能。其基于 Swift 4.0 的 Codable 协议实现模型绑定,通过建立 Swift 类型与数据库表之间的映射关系,使得开发者可以通过类对象直接操作数据库。

Kickstarter 客户端源码

https://github.com/kickstarter/ios-oss

Kickstarter 开源了他们的客户端代码,里面有非常多可以学习的内容,例如:

  • AppEnviroment 的抽象:所有状态都用一个全局的 Enviroment 去保存,包括了缓存,设备状态,用户等等,有了这一个抽象的存在就意味着测试时可以随意模拟和切换状态,在测试和监控复现 bug 时非常有用。
  • 可运行的文档:使用 Playground 去搭建 API 文档,UI 的格式可以通过 PlaygroundLiveView 即时查看,构建出了一个类 REPL 的调试环境出来。并且每次 pull request 也会尝试编译 playground 里的代码,如果 API 进行了修改,那就让我们知道该更新文档了。美中不足是目前 Playground 对于 framework 的支持很一般,我们使用 Carthage 或者 Cocoapods 的话需要做很多 setup 才行。
  • ...

screen shot 2018-01-06 at 12 38 41

screen shot 2018-01-06 at 12 39 35

相关内容:

Swift Weekly Brief 停更

Swift Weekly Brief 宣布停更

Jesse Squires 宣布停止更新 Swift Weekly,一直以来这个 News Letter 都是我了解 Swift 开发进度最主要的途径,现在要停更了,确实很可惜。

Jesse 提到停止更新的理由,主要是因为当初开始 Swift Weekly 的时候,Swift 刚刚开源,对于功能和设计的讨论非常非常多,并且 Mailing List 这种形式让人很难找到有价值的内容,所以这样一个 News Letter 在当时是非常有意义的。但现在 Swift 已经逐渐成熟,社区里的讨论变得越来越深入,而且 Swift 最近还从 Mailing List 迁移到了论坛上,相关资讯的获取已经变得越来越方便了,Swift Weekly 的存在价值也已经大不如前了,所以才打算停止更新。

但停更只是个人意义上的停更,Jesse 欢迎社区的人接手过去继续更新,并且在原文介绍了一系列接手的注意事项。

而 Swift Unwrapped 这个播客不会停止,每周 Jesse 跟 JP 还是会继续为我们介绍 Swift 社区发生的事情。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.