持续集成是一项“一次配置长期受益”的投入,让开发、测试、生产环境的统一变得更加自动高效。

本期 fir.im Weekly 收录了关于 Android、iOS 持续集成的最新实践分享,也有一些开发工具、源码和 UI 动画的分享。

iOS搭建CI持续集成环境

@大慈大悲大熊猫  写的这篇文章总结了自己在 iOS 下的自动化打包,搭建可持续集成环境的实践过程,选择方案是 Jenkins+ Gitlab/Github+Xcode+Fir。文章传送门.

对比学习下,@宣X_x的这篇文章,用 Jenkins+GitHub+fir-cli 搭建持续集成环境,看看哪个更适用于你。

使用DaoCloud与FIR.im为CodingAndroid项目开启持续集成的尝试

@痕迹BLANK  把持续集成环境搭建在 DaoCloud 上,通过几步就可以实现 CodingAndroid 项目自动提交,自动编译发布测试包到 fir.im 上。这是一套很新鲜的玩法,感兴趣地可以尝试一下,文章地址☞http://www.jianshu.com/p/a6ebb0e0c5ae .

icon-font-for-multiple-platforms

@廖祜秋liaohuqiu_秋百万分享。

“开源一个项目。我们经常会在项目中使用 Icon Font,比如 Font Awesome。最近做一个项目,你可以自己在 Sketch 中画图标,生成字体文件,然后在 Web, Android ,iOS 等各个平台中使用。项目配有简单明了的各个平台下的例子。” Github 地址点击这里

MVVM with ReactiveCocoa

@雷纯锋2011写了一篇新文章《MVVM with ReactiveCocoa》,先从理论出发介绍了 MVC 到 MVVM 的演进过程;然后介绍了 RAC 在 MVVM 中的两个使用场景;最后从实践的角度,介绍了一个使用 MVVM 和 RAC 开发的开源项目 MVVMReactiveCocoa。Github 已抛出源码,地址见这里

Swift服务端编程:Perfect项目上手指南

@移动开发前线分享。

“ Swift让iOS开发者有了制霸全栈的希望,连IBM都出了一个Swift的Web服务端程序Kitura,不过要数他们的鼻祖,还得算Perfect项目,它甚至在Swift开源之前就发布了。就让本文的作者来带你看看Swift在服务端是如何运行的。”

文章传送门.

用Swift搭建数据驱动型iOS App架构

@愚公编程MrPeak写了一篇用Swift搭建数据驱动型iOS App架构的文章,有完整的Demo代码,地址见这里.

Cocoapods的系列教程

@叫什么都不如叫Pluto-Y整理了一些关于Cocoapods的系列教程,详情链接如下:

Cocoapods系列教程(一)——入门

Cocoapods系列教程(二)——开源主义接班人

Cocoapods系列教程(三)——私有库管理和模块化管理

React-native-gitfeed,实用简洁的github客户端

@Sayalittlesomething在微博上分享
“react-native-gitfeed 开源了。请允许我自信(不要脸)的说,可能是目前最实用简洁的github客户端了。”Github地址: https://github.com/xiekw2010/react-native-gitfeed ; iOS版: http://t.cn/RbFQP4r ;android版:http://t.cn/RGOEwRx

令人惊讶的图片加载库系列:Glide

@void_ouwenjie@稀土掘金分享了傅圆的博客的文章;

“Glide,就像 Picasso,可以从多个源去加载和显示图片,同时也兼顾缓存和在做图片处理的时候维持一个低内存消耗。它已经在 Google 官方 APP (如 Google 2015 开发者大会的应用程序)中使用了,就和 Picasso 一样受欢迎。在这个系列中,我们要探讨 Glide 和 Picasso 的不同和优势。"

文章地址:Glide - 开始!

译者注原文: Glide — Getting Started

开源的 Material Design 豆瓣客户端

汤奇V微博分享了开源的 Material Design 豆瓣客户端,Github 地址:https://github.com/DreaminginCodeZH/Douya .

更优雅的 Android 发布自动版本号方案

来自@Android笔记的分享。

“如果您的项目是用 Git 管理的,并且恰巧又是使用 Gradle 编译(应该绝大部分都是这样的了吧?),本文试图找到一种更加优雅的自动版本管理方法。”

点击这里,浏览全文。

用 Swift 仿写微信客户端——TSWeChat

@来海龙 用 Swift 仿写了一下微信客户端,完成度还不够高,后续会慢慢添加,有兴趣的可以看下,Github地址:http://t.cn/RGYg9CO

RecyclerViewWithHeaderNewPractice

@drakeet在微博上分享了实现新的动画:

“GitHub 开源了一种新的 Header View + RecyclerView 实现方式,使用 CoordinatorLayout 把 header 抽离出 RecyclerView,并做到上下滑联动,这样 Java 层代码就能简单和简洁很多,更便于刷新和响应,也不用写多 item view type 逻辑。”Github 源码已抛出,地址见这里.


以上是本期fir.im Weekly ,如有好的资源,欢迎分享给我们。

fir.im

fir.im Weekly - 如何愉悦地进行持续集成的更多相关文章

  1. fir.im Weekly - 暖心的 iOS 持续集成,你值得拥有

    一则利好消息,flow.ci 支持 iOS 项目持续集成,想试试的伙伴去 Gitter群 问问.首批尝鲜用户@阿米amoy 已经用 flow.ci 实现了基本的 iOS 持续集成,并详细记录整个 Bu ...

  2. 【转】手把手教你利用Jenkins持续集成iOS项目

    前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一 ...

  3. 手把手教你利用Jenkins持续集成iOS项目

    前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一 ...

  4. fir.im weekly - 「 持续集成 」实践教程合集

    我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...

  5. fir.im Weekly - 关于 iOS10 适配、开发、推送的一切

    "小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资 ...

  6. fir.im Weekly - iOS / Android 动态化更新方案盘点

    动态化更新是 App 开发必然面对的问题.在 iOS 环境下,Apple 开发者们像是" 带着手铐脚镣跳舞" ,相比之下 Android 开发者会轻松一点,有很多相关的开源框架帮助 ...

  7. fir.im Weekly - 揭秘 iOS 面向协议编程

    本期 fir.im Weekly 重点推荐关于 iOS 面向协议编程相关文章,还有 iOS 多线程安全.Swift 进阶.Android MVVM 应用框架.Android 蓝牙实践等技术文章分享和工 ...

  8. fir.im Weekly - 让 iOS 应用更加安全

    攻易防难,关于 iOS 应用安全看起来有些神秘.iOS Security , 源于@吴发伟_则平博客翻译的关于iOS安全的一系列文章,现在站点已经系统收集了大量关于 iOS 逆向.安全.反编译.静动态 ...

  9. fir.im Weekly - 除了新 MacBook Pro,近期值得关注的移动开发好资源

    最近,最引人瞩目的莫过于 Apple 产品发布会,MacBook Pro 的更新可能是四年来变化最大的一版.除了更轻.更薄.性能更好.电力更足之外,最大的变化是加入了Touch Bar,被定义为 Ma ...

随机推荐

  1. JS-数组的方法

    var arr = [ 1,2,3 ];arr.push( 'abc' );//从后面加 arr.unshift( 0 );//从前面加 arr.pop()//从后面删除 arr.shift()//从 ...

  2. bootstrap中table的colspan不起作用

    bootstrap中table的colspan不起作用,即在不指定宽度的条件下,各个td宽度不符合colspan指定的宽度. 添加table0layout:fixed后显示正常. table{ tab ...

  3. Debian使用相关

    1)将普通用户添加到sudo组 首先安装sudo: root@~#: apt-get install sudo 然后添加将wzc用户添加到sudo组: root@~#: usermod -a -G s ...

  4. js数组去重的三种方法

    <script type="text/javascript"> /*// 第一种冒泡法删除 var arr=[1,2,2,78,3,456,456]; for(var ...

  5. 文本框如果不输入任何内容提交过后是一个空字符串还是null

    1.在表单不填就提交的情况下,text类型和textarea类型的表单域,提交到服务端为空 2.checkbox.readio.select等表单域在为不填情况下不会提交到服务器,也就是说服务器接收不 ...

  6. ubuntu安装packet提示重复冲突问题

    今天装个zip出现: dpkg: error processing archive /var/cache/apt/archives/libc6-dev-i386_2.19-0ubuntu6.5_amd ...

  7. Android--Alarm机制

    1.Alarm 能够实现 Android 中的定时任务,它与 Java 中的 Timer类的区别在于,Android 系统在休眠状态下时 Timer 类中的定时任务可能无法正常运行,而 Alarm 机 ...

  8. iOS开发--Block

    iOS开发--Block 1.什么是Block,block 的作用 ui开发和网络常见功能实现回调,按钮的事件处理方法是回调方法以及网络下载后的回调处理 (1)按钮 target-action   一 ...

  9. [转]Oracle VM VirtualBox虚拟机,Ubuntu虚拟机共享文件夹

    VirtualBox的菜单里选择"设备" -> "安装增强功能...". "设备" -> "共享文档夹",添 ...

  10. Mac 下 WebStorm 配置go语言开发环境

    一.下载安装WebStorm,我的是 二.在WebStorm 中安装go插件 三.在本机安装go开发环境,直接装pkg文件,https://golang.org/doc/install 四.在WebS ...