fir.im Weekly - 揭秘 iOS 面向协议编程
本期 fir.im Weekly 重点推荐关于 iOS 面向协议编程相关文章,还有 iOS 多线程安全、Swift 进阶、Android MVVM 应用框架、Android 蓝牙实践等技术文章分享和工具源码分享~
『iOS / Android开发分享 』
面向协议编程与 Cocoa 的邂逅
“面向协议编程 (Protocol Oriented Programming,以下简称 POP) 是 Apple 在 2015 年 WWDC 上提出的 Swift 的一种编程范式。相比与传统的面向对象编程 (OOP),POP 显得更加灵活。结合 Swift 的值语义特性和 Swift 标准库的实现,这一年来大家发现了很多 POP 的应用场景。”
@onevcat 喵神整理了一下今年 MDCC 16 上的分享内容,基本是对面向协议编程的一些简单介绍和入门 demo,分为上下两篇。文章传送门。
顺便说下@onevcat的《Swift 进阶》(Advanced Swift) 中文版已经完成了对 Swift 3 的更新,点击这里可购买。
从 Swift 的面向协议编程说开去
@bestswifter 也分享了自己对面向协议编程的看法,搭配上篇喵神的一起看更美味, 链接见这里:)
iOS多线程到底不安全在哪里?
“iOS多线程安全的概念在很多地方都会遇到,为什么不安全,不安全又该怎么去定义,其实是个值得深究的话题”,@愚公编程MrPeak写的这篇文章帮你解惑,值得一看。
Swift高手进阶 - 11个技巧
也许你已经学习Swift几个月了,有没有想更进一步成为Swift高手的想法?简书作者豆志昂扬分享了11招秘技,来这里看看。
用 Swift 搭建一个微型编译器
@RealmChina在微博上分享:
“对绝大多数开发者来说,尽管我们每天都要与编译器打交道,然而实际上编译器对我们来说仍然像一个神秘的黑盒。Samuel Giddins 从头搭建了一个全新的微型编译器,用来编译他自制的一门编程语言,从而借此去学习编译器的基本工作机制。”
文章传送门。
如何构建Android MVVM 应用框架
如何通过 DataBinding 去构建 Android MVVM 的应用框架的?View、ViewModel、Model每一层的职责如何?它们之间联系怎样、分工如何、代码应该如何设计?跟着 @美团点评技术团队 看看什么是MVVM,如何一步一步来设计整个MVVM框架,点击这里,浏览全文。
Tinker -- 微信Android热补丁方案
Tinker 是一个开源项目,它是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新,Github地址:tinker.
Android 上的低功耗蓝牙实践
这是@Android笔记 在 Droidcon Beijing 2016 和 GDG Devfest 2016 上做的关于 Android 上低功耗蓝牙的实践。全文阅读,点击这里。
正方体样式的loadingView
@卐字旗下的余晖分享的正方体Loading效果,用 Android 代码实现并开源,Github 地址:and_cube_progress.
『 其他』
CI Weekly #5 | 微服务架构下的持续部署与交付
@风起云飞flowci最新一期的CI Weekly 整理了关于微服务架构下的持续部署与交付、自动化测试、DevOps相关的技术实践。如果你真好需要这方面的资源,订阅下 CI Weekly。
程序员练级指北
@GcsSloop在 郑州GDG DevFest 活动上分享的内容,主要内容如何从零开始,并逐渐成长为一名合格的程序员,里面的内容是基于自身的经历和见解所书写的,感兴趣的去博客看看>>链接。
这期的 fir.im Weekly 就到这里,投稿请联系 dm[at]fir.im.
欢迎分享更多的内容。
fir.im
最新文章
- shell编程之正则表达式
- ubuntu eclipse 不能新建javaweb项目解决方案
- js网页中调用本地应用程序
- 二维数组去除重复值和array_unique函数
- android中的layoutparams参数使用的简单总结
- 七层负载均衡——HAProxy
- 数据库优化和SQL操作的相关题目
- JS中 window.location 与window.location.href的区别
- JavaWeb学习总结(一)—JavaWeb开发入门及环境搭建
- Lumen 设置 timezone 时区
- [SDOI 2013]方程
- 30、vue 过滤器(filters)
- eclipse配置servlet错误
- MySQL基本命令行
- a标签(普通标签如span)没有disabled属性 ,怎样利用js实现该属性
- JS DOM操作(四) Window.docunment对象——操作内容
- Confluence 6 LDAP 连接池配置参数
- 如何在ScrollView滑动的瞬间禁用拖拽手势
- TeamWork#3,Week5,Scrum Meeting 11.6, 11.7, 11.11, 11.12
- perceptron感知机 mtalab
热门文章
- [原]CentOS7.2部署node-mapnik
- 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录
- 卡片抽奖插件 CardShow
- php报错 ---->; Call to undefined function imagecreatetruecolor()
- Android 几种消息推送方案总结
- php批量删除
- VICA 架构设计(1)
- 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中
- Java—恶心的java.lang.NumberFormatException解决
- 微信开发笔记(accesstoken)