本期 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

最新文章

  1. shell编程之正则表达式
  2. ubuntu eclipse 不能新建javaweb项目解决方案
  3. js网页中调用本地应用程序
  4. 二维数组去除重复值和array_unique函数
  5. android中的layoutparams参数使用的简单总结
  6. 七层负载均衡——HAProxy
  7. 数据库优化和SQL操作的相关题目
  8. JS中 window.location 与window.location.href的区别
  9. JavaWeb学习总结(一)—JavaWeb开发入门及环境搭建
  10. Lumen 设置 timezone 时区
  11. [SDOI 2013]方程
  12. 30、vue 过滤器(filters)
  13. eclipse配置servlet错误
  14. MySQL基本命令行
  15. a标签(普通标签如span)没有disabled属性 ,怎样利用js实现该属性
  16. JS DOM操作(四) Window.docunment对象——操作内容
  17. Confluence 6 LDAP 连接池配置参数
  18. 如何在ScrollView滑动的瞬间禁用拖拽手势
  19. TeamWork#3,Week5,Scrum Meeting 11.6, 11.7, 11.11, 11.12
  20. perceptron感知机 mtalab

热门文章

  1. [原]CentOS7.2部署node-mapnik
  2. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录
  3. 卡片抽奖插件 CardShow
  4. php报错 ----> Call to undefined function imagecreatetruecolor()
  5. Android 几种消息推送方案总结
  6. php批量删除
  7. VICA 架构设计(1)
  8. 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中
  9. Java—恶心的java.lang.NumberFormatException解决
  10. 微信开发笔记(accesstoken)