|
| 1 | +# 老司机 iOS 周报 #1 | 2019-03-25 |
| 2 | + |
| 3 | + |
| 4 | +老司机 iOS 周报,只为你呈现有价值的信息。 |
| 5 | + |
| 6 | +你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。 |
| 7 | + |
| 8 | +## 新闻 |
| 9 | + |
| 10 | +新闻 |
| 11 | + |
| 12 | + |
| 13 | +## 文章 |
| 14 | + |
| 15 | +### 🐢 Swift5 新特性 @dynamicCallable 带来的动态魔法 |
| 16 | + |
| 17 | +一年前周报的第一期我们曾经提过:[Swift 快要可以和 Python 无缝交互了](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171204/042029.html),一年后的今天伴随着 Swift5 新特性 `@dynamicCallable` 的发布,『用 Swift 写 Python 变成现实』。 |
| 18 | + |
| 19 | +起源是 Chris Lattner 大神的两个提案:`@dynamicMemberLookup` 提供动态查找成员的能力(Swift4.2),`@dynamicCallable` 则提供动态方法调用的能力(Swift5)。很难想象,两个语法糖重新定义语言动态性,让人看到 Swift 成为胶水语言的可能。 |
| 20 | + |
| 21 | +下面三篇系列文章带我们感受语法糖带来的神奇魔法: |
| 22 | + |
| 23 | +- [#1 Unix Tools as Swift Functions](http://www.alwaysrightinstitute.com/swift-dynamic-callable/) |
| 24 | + |
| 25 | + 一层薄薄的封装让所有 Unix Tools 变成 Swfit 方法,提供这样的调用方式:`shell.env()`, `shell.ls("-a", "-l")`, `shell.python("--version")`; |
| 26 | +- [#2 Swift/ObjC Bridge](http://www.alwaysrightinstitute.com/swift-objc-bridge/) |
| 27 | + |
| 28 | + 基于 @dynamicCallable 轻松实现一套 Swift - Objective-C 的桥接。实现思路类似 [PyObjC](https://pythonhosted.org/pyobjc/) |
| 29 | +- [#3 Mustasheable](http://www.alwaysrightinstitute.com/mustacheable/) |
| 30 | + |
| 31 | + 为模板语言[Mustache](http://mustache.github.io/)的生成器提供简洁优雅的调用方式。 |
| 32 | + |
| 33 | +相关阅读:[细说 Swift 4.2 新特性:Dynamic Member Lookup](https://juejin.im/post/5b24c9896fb9a00e69608a71) |
| 34 | + |
| 35 | +## 设计 |
| 36 | + |
| 37 | +## 工具 |
| 38 | + |
| 39 | +第三方工具服务 |
| 40 | + |
| 41 | +## 代码 |
| 42 | + |
| 43 | +### [Aiolos](https://github.com/IdeasOnCanvas/Aiolos) |
| 44 | + |
| 45 | +Aiolos 是一个受浮动面板启发的 Swift UI 框架,已在 iOS 11 中的地图应用中引入。它完全由手势驱动,并自动响应屏幕键盘,与许多其他开源面板解决方案相比,Aiolos 被设计为始终可见的子视图控制器,因此不使用 iOS 的自定义视图控制器转换 API。可通过 Carthage 集成到项目中,使用简单便捷,感兴趣的同学可以尝试一下。 |
| 46 | + |
| 47 | +### [EasyTransitions](https://github.com/marcosgriselli/EasyTransitions) |
| 48 | + |
| 49 | +EasyTransitions 是一个简单易用的转场动画库,可以帮助开发人员使用协议中定义的简单函数创建自定义交互式转换,避免使用UIKit中的多个转换API进行实现的麻烦。 |
| 50 | + |
| 51 | +特性 |
| 52 | +- 自定义过渡简单设置 |
| 53 | +- 支持模态演示,UIPresentationController和UINavigationController 过渡 |
| 54 | +- 具有多个平移手势方向的 1 行中的交互式转换支持 |
| 55 | +- 3 个自定义转换作为示例 |
| 56 | +- iOS 和 tvOS |
| 57 | + |
| 58 | +EasyTransitions 库很实用,有需要感兴趣的读者可以看看,不过该库只提供了 swift 版本哦! |
| 59 | + |
| 60 | +## 书 |
| 61 | + |
| 62 | +可选 |
| 63 | + |
| 64 | +## 音视频 |
| 65 | + |
| 66 | +可选,音视频 |
| 67 | + |
| 68 | +## 内推 |
| 69 | + |
| 70 | +- [北京-百度网盘 持续招 iOS 开发](https://talent.baidu.com/external/baidu/index.html#/jobDetail/2/102507):社招、应届、实习均可。项目在技术上很有挑战性,团队技术氛围极好。诚心希望各路大神前来切磋,也欢迎计算机基础好的小白来共同学习。简历发邮箱 xuyafei01@baidu.com,暂不考虑的也欢迎微博私信 [@小非86](https://weibo.com/xuyafei86) 聊聊~ |
| 71 | + |
| 72 | +- [北京-蚂蚁金服 招iOS/安卓/前端开发](https://job.alibaba.com/zhaopin/position_detail.htm?trace=qrcode_share&positionCode=GP031268&from=timeline&isappinstalled=0):负责支付宝会员及帐号业务线,地点北京国贸,金台夕照地铁站出口 100 米。有兴趣的同学欢迎将简历发送到:weijing.wdf@alibaba-inc.com / weijing.wdf@antfin.com (同一个邮箱)或者微博私信 [@折腾范儿_味精](https://weibo.com/agvicking) 了解情况。 |
| 73 | + |
| 74 | +- 上海即刻:如果你认识聪明勤奋、胆大心细、有追求的工程师,那就来加入我们吧!任何推荐或简历可直接发给 Jason(即刻 iOS leader): jasy@okjike.com,或微博 [@JasonYuh](https://weibo.com/jasonyuh)。 |
| 75 | + |
| 76 | +- [杭州奇志科技招聘 iOS、前端](https://www.lagou.com/gongsi/34872.html):奇志科技自 2016 年起通过行业无人机协同工作流 Mesh 进入物联网与人工智能领域, 并成功为房地产、建筑、测绘、电力巡检等行业提供无人机解决方案。感兴趣可以微博上私信 [@没故事的卓同学](https://weibo.com/u/1926303682) 了解。 |
| 77 | + |
| 78 | +- [深圳头条研发中心诚招各路 iOS 好手一起做取悦自己的项目](https://job.toutiao.com/2018/spring_referral/?token=alPR8WCv8nnnc5QqtsyKjw%3D%3D&key=MTY1MDMsMTg0MTQsMjA1MjAsMTk1NjEsMTU2ODksMTc0ODk%3D):如想了解更多深圳头条的信息,可以加小T微信:tomtan,切磋技术和聊情怀都可以喔~~~~ |
| 79 | + |
| 80 | +- [北京字节跳动 iOS 团队持续招人中](https://job.toutiao.com/society):简历可以发送到邮箱 raozhizhen@gmail.com,或者添加我([@AidenRao](https://weibo.com/AidenRao))的微信 jingmu1994 了解更多公司及岗位信息。 |
| 81 | + |
| 82 | +- [北京百度教育事业部招 iOS 开发](https://www.baidu.com/s?wd=百度):百度教育事业部,地点:北京西二旗。部门下面有百度阅读,百度文库,百度爱听等 App 产品。团队技术氛围浓厚,有兴趣的同学欢迎将简历发送到我的邮箱:lizelei@baidu.com。 |
| 83 | + |
| 84 | +- [深圳 - 格隆汇 iOS / Android / 前端](https://www.lagou.com/gongsi/j84043.html):公司方向是投研资讯,目前正在稳步扩张中,各个级别的工程师都有需求。任何推荐或者简历都可以发送到我邮箱:[chenkem@gmail.com](mailto:chenkem@gmail.com),同时也欢迎大家[私信我](https://t.me/kemchenj)了解更多信息。 |
| 85 | + |
| 86 | +## 关注我们 |
| 87 | + |
| 88 | +我们开通了公众号,每期发布时公众号(OldDriverWeekly)会推送消息,欢迎关注。 |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。 |
| 93 | + |
| 94 | +## 本期编辑 |
| 95 | + |
| 96 | +[@四娘](https://kemchenj.github.io),[@享耳先森](https://github.com/iblacksun),[@Damonwong](https://weibo.com/damonone),[@折腾范儿_味精](http://weibo.com/agvicking),[@张嘉夫](https://weibo.com/2949394297),[@Parsifal](https://weibo.com/parsifalchang),[@aaaron7](https://weibo.com/aaaron7),[@kyo](https://github.com/KyoLi),[@tom510230](https://xiaozhuanlan.com/u/6682065345),[@anotheren](https://anotheren.com),[@水水](https://www.xuyanlan.com),[@looping](https://github.com/looping),[@老老老老老老老驴](https://weibo.com/u/6090610445),[@小非86](https://weibo.com/xuyafei86),[@邦ben](http://weibo.com/linwenbang),[@红纸](https://github.com/nianran),[@含笑饮砒霜](http://chinafish.news),[@JimQ](https://github.com/waz0820),[@老峰](https://github.com/GesanTung),[@zvving](https://github.com/zvving),[@J_Knight_](https://github.com/knightsj) |
| 97 | + |
| 98 | +## 说明 |
| 99 | + |
| 100 | +🚧 表示需翻墙,🌟 表示编辑推荐 |
| 101 | + |
| 102 | +预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins) |
0 commit comments