老司机 iOS 周报 #103 | 2020-03-02

4,232 阅读4分钟

老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新闻

Flutter 智能闹钟挑战赛评选结果揭晓

@zvving:Google 联合 Google Assistant、联想,发起的 Flutter 智能闹钟挑战赛已经评选结束,获奖及提名作品均有源码奉上,Flutter 爱好者不容错过。

赛事网址:flutter.dev/clock

文章

🌟 🐢 Flutter 在字节跳动的现状与工程实践

@含笑饮砒霜:这是一篇主要分享 Flutter 在字节跳动的现状以及工程实践经验的深度好文。字节跳动希望把 Flutter 打造成下一代研发体系,支撑众多 App 的各种使用场景。文章分为几个部分:

  • Flutter 在字节跳动的现状

    • Flutter 的优势与业务现状
    • 建设进展与规划简介
  • 工程实践

    • FlutterW 研发套件
    • 容器化工程方案
    • ByteRedux 状态管理方案
  • 总结与展望

尤其是工程实践部分,FlutterW 研发套件标准化了 Flutter 的开发环境,提供了方案统⼀实施的能⼒。容器化方案让运行环境提供统⼀基础能力,真正实现“Write Once, Run Everywhere”。 ByteRedux 状态管理方案以很低的成本解决了 Redux 的问题,保留了 Redux 的优势,使其可以适应大中小型应用。字节跳动基于 Flutter 技术落地的解决方案以及相关的技术创新,相信会为更多企业和开发者提供启发和借鉴!

🐕 Four Easy Ways to Debug Network Requests in Flutter

@老峰:这篇文章分享了关于 Flutter 网络请求 Debug 的四种方式:

  • 使用log 日志:使用 logs package 打印日志,可读性较差
  • 使用 Alice:集成在 Flutter App 内部,可视化的展示网路请求记录
  • 使用 Flipper:来自 Facebook 的 桌面 App
  • 使用 Proxy 代理:在网络框架中配置代理 IP,配置 Charles,这个也是作者推荐的方式

🐢 How Swift imports C APIs

@xiaofei86:当 Swift 从基于 C 的语言(C,Objective-C)导入一个模块或者解析 bridging header 时,这些语言的接口被映射为 Swift 接口以便可以在 Swift 代码中直接使用。这提供了 Swift EFI 功能的基础(Foreign Function Interface 外部函数接口)— 对基于 C 的语言开发的库提供互相操作的能力。

本文为苹果的官方文档,讲述了接口怎样从基于 C 的语言映射到 Swift。文章的受众很广,在必要的时候会解释一些高级概念,除了技术专家,也推荐给 Swift 和 C 语言的初学者。

🐕 Swift.org - Announcing ArgumentParser

@AidenRao:Swift 发布 ArgumentParser,一个命令行解析库。可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 ArgumentParser 将对命令行进行解析,支持子命令,自定义帮助和参数验证提示。

工具

zld

@四娘:一个更快的 linker。在大型项目里增量编译 link 阶段的耗时占用非常大,这个项目在 Apple 版本的基础上改为使用更加高效的 Hash 实现,增加任务的并行处理,Benchmark 显示 link 时间比原本缩短了 40% 左右。

推荐人:SketchK

代码

🌟 DarkModeKit

@Damonwong: Microsoft 作为老牌的软件公司,开发了不少优秀的 iOS App,比如 Office 套件。年前的时候 Office 有了一次比较大的更新,同时也支持了 DarkMode。令人兴奋的是,Office 套件中使用的 DarkModeKit 已经开源了。感兴趣的可以了解一下

本人也学习和了解了一下 DarkModeKit 的源码,不得不说 DarkModeKit 的代码质量也非常高,非常值得学习。

KeyboardGuide

@EyreFree:众所周知的是,iOS 开发中如何优雅地处理键盘是一件比较有挑战性的事情。我们可以通过搜索引擎找到很多方案,但大多数都不是很完善。KeyboardGuide 将各种需要考虑的状况都包含在内,并且对 iPad 也提供了良好的支持,有需求的同学可以尝试一用。

音视频

Vue.js - The Documentary,Vue.js 纪录片,配中文字幕

@享耳先森:纪录片总长 30 分钟,记录 Vue 的发展过程。 尤雨溪在片中讲了 Vue 名字由来,介绍了关键时间节点的发展过程,也和 Angular React 做了些对比。

内推

老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。

如果你想找工作,点这里:www.yuque.com/iosalliance…

如果你想招人,点这里:www.yuque.com/iosalliance…

当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。

关注我们

我们开通了公众号,每期发布时公众号(OldDriverWeekly)会推送消息,欢迎关注。

同时也支持了 RSS 订阅:github.com/SwiftOldDri…

说明

🚧 表示需翻墙,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)