fir.im Weekly - 如何愉悦地进行持续集成
持续集成是一项“一次配置长期受益”的投入,让开发、测试、生产环境的统一变得更加自动高效。
本期 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
“开源一个项目。我们经常会在项目中使用 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的系列教程,详情链接如下:
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 - 如何愉悦地进行持续集成的更多相关文章
- fir.im Weekly - 暖心的 iOS 持续集成,你值得拥有
一则利好消息,flow.ci 支持 iOS 项目持续集成,想试试的伙伴去 Gitter群 问问.首批尝鲜用户@阿米amoy 已经用 flow.ci 实现了基本的 iOS 持续集成,并详细记录整个 Bu ...
- 【转】手把手教你利用Jenkins持续集成iOS项目
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一 ...
- 手把手教你利用Jenkins持续集成iOS项目
前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一 ...
- fir.im weekly - 「 持续集成 」实践教程合集
我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...
- fir.im Weekly - 关于 iOS10 适配、开发、推送的一切
"小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资 ...
- fir.im Weekly - iOS / Android 动态化更新方案盘点
动态化更新是 App 开发必然面对的问题.在 iOS 环境下,Apple 开发者们像是" 带着手铐脚镣跳舞" ,相比之下 Android 开发者会轻松一点,有很多相关的开源框架帮助 ...
- fir.im Weekly - 揭秘 iOS 面向协议编程
本期 fir.im Weekly 重点推荐关于 iOS 面向协议编程相关文章,还有 iOS 多线程安全.Swift 进阶.Android MVVM 应用框架.Android 蓝牙实践等技术文章分享和工 ...
- fir.im Weekly - 让 iOS 应用更加安全
攻易防难,关于 iOS 应用安全看起来有些神秘.iOS Security , 源于@吴发伟_则平博客翻译的关于iOS安全的一系列文章,现在站点已经系统收集了大量关于 iOS 逆向.安全.反编译.静动态 ...
- fir.im Weekly - 除了新 MacBook Pro,近期值得关注的移动开发好资源
最近,最引人瞩目的莫过于 Apple 产品发布会,MacBook Pro 的更新可能是四年来变化最大的一版.除了更轻.更薄.性能更好.电力更足之外,最大的变化是加入了Touch Bar,被定义为 Ma ...
随机推荐
- serialize data use msgpack
#ifndef _BYTEBUFFER_H #define _BYTEBUFFER_H #include <msgpack.hpp> typedef unsigned char uint8 ...
- Android Sqlite数据库相关——实现将 Sqlite 数据库复制到SD 卡
确定 sqlite 数据库所在位置(一般在data/data/com.pagename/databases/ 下,其中 com.pagename为当前项目包名) 确定 sqlite 数据库名称,拼接到 ...
- SQL事物隔离级别
标准SQL定义了4个隔离级别 Read uncommitted 未提交读 Read committed 已提交读 Repeatable read 可重复读 Serializable 可序列化 基本语法 ...
- Clover 资源管理器 http://cn.ejie.me/
附件列表 clover.jpg
- 天气预报API(三):免费接口测试(“旧编码”)
说明 我以参考文章为引子,自己测试并扩展,努力寻找更多的气象API... 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "旧编码": 全国城市代码列 ...
- 【NHibernate】列“ReservedWord”不属于表 ReservedWords
NHibernate+FluentNHibernate+MySql 运行时黄页显示下边的异常,项目中找了半天没出现过这个列的关键字. [ArgumentException: 列“ReservedWor ...
- [Python] Removing a non-empty folder
Removing a non-empty folder You will get an ‘access is denied’ error when you attempt to use os.remo ...
- case when then else end 用法
前段时间做项目过程中制作报表时编写的sql需要用到的case when then else end,因此将case的用法总结一下吧. CASE命令有两种语句格式:语法形式1:CASE expressi ...
- Hive几种数据导出方式
Hive几种数据导出方式 今天我们再谈谈Hive中的几种不同的数据导出方式.可以根据导出的地方不一样,将这些方式分为三种: (1).导出到本地文件系统: (2).导出到HDFS中: (3).导出到Hi ...
- [Java基础]代码块及java反编译
块的作用域: 块(即复合语句)是指一对花括号括起来的若干条简单的java语句.块确定了变量的作用域.一个块可以嵌套在另一个块中.但是,在嵌套的两个块中声明同名的变量时应注意,块中变量申明在块外变量 ...