直接拿来用!Facebook移动开源项目大合集

直接拿来用!Facebook移动开源项目大合集

时间:2014-04-22 15:37 作者:唐小引

随着iOS依赖管理工具CocoaPods和大量第三方开源库成熟起来,业界积累了大量的优秀开源项目。不久之前,Facebook推出了旗下移动新闻阅读应用Paper,便动用了将近100个第三方开源库,极大地简化了自己的应用开发任务。

移动开发生态圈日益完善,基础的开源组件也越来越丰富,而Facebook不仅取之开源,更不断地开源其内部项目,将成果反馈给开源社区,与开发者共享。接下来,就让我们一起来看看那些年Facebook在移动开发方面所推出的众多开源项目。

1. KVOController

KVOController是Facebook开源的一款简单安全的KVO(Key-Value Observing,键值观察,Objective-C中定义的一个通知机制)工具,用于iOS和Mac OS X应用开发中。KVOController基于Cocoa经过时间考验的KVO实现开发而成,它提供了一个简洁方便、线程安全的API。

主要特性:

  • 使用Blocks、自定义Actions或NSKeyValueObserving回调进行通知;
  • 观测者移除时无异常;
  • 控制器dealloc时移除隐式观测者;
  • 提升使用NSKeyValueObservingInitial的性能;
  • 为恢复观测者提供特殊防护的线程安全。

相关链接:KVOController的GitHub托管地址mobilehub主页

2. Shimmer

Shimmer是一款开源的加载效果工具,能够非常简单地向应用中的任何视图添加闪闪发光的字体效果,并且不会显得突兀。Shimmer最初是Facebook于今年1月所推出的Paper的开发过程中所使用到的工具,后被Facebook基于BSD许可协议开源,支持iOS 6及其以上系统。

相关链接:Shimmer的GitHub托管地址mobilehub主页

3. Rebound

Rebound是Facebook推出的一款Android的物理和动画库,于2013年10月在[email protected]大会上正式发布,旨在解决笨重、缓慢的传统移动网络界面。Rebound基于BSD许可协议,兼容HTML5和Node.js。

Rebound不是一款通用物理库,但其弹簧模型在应用程序中引入了现实世界的物理,易于集成,创建的动画能够让人感觉到非常自然,可用于滚动条、切换开关、呼叫等场景下。

相关链接:Rebound官网GitHub托管地址mobilehub主页

4. Buck

Buck是Facebook开发的一款开源Android Build工具,基于Apache License 2.0协议发布,可以通过独立构建并行来发挥多核的性能,加速开发者的Android应用构建流程。Buck基于单一的库构建,能够以最小的资源集重建,非常适用于Android项目组织与管理。

主要特性:

  • 加速Android构建。充分发挥多核处理器的优势,并行构建独立模块。通过追踪没有变化的源文件,减少增量构建实践,最少化需要重建的资源。
  • 对于不支持开箱即用的Android Ant编译脚本,引进ad-doc构建系统。
  • 在构建系统里保持生成构建的逻辑,无需另外的系统生成构建文件。
  • 基于构建规则生成一个Intellij项目,能同时匹配本地IDE以及无头文件编译开发。
  • 支持单元测试,选用最均衡的方式获得代码覆盖率。

相关链接:Buck官网Github托管地址mobilehub主页

5. xctool

xctool是Facebook推出的另一款开源的应用构建工具,基于Apache License 2.0协议发布,用于取代苹果的xcodebuild,来简化iOS和Mac项目的构建和测试。xctool对于持续集成可谓大有裨益,其最大的好处就是可以直接从命令行构建和运行单元测试。

xctool在xcodebuild的基础上还添加了一些额外的功能,比如支持将构建和测试结果结构化输出;界面友好,支持ANSI彩色输出;速度更快,支持进行并行测试,使得运行速度提升2~3倍等。xctool支持Xcode 5+,并且,在使用xctool时必须安装Xcode命令行工具。

主要特性:

  • 作为Xcode.app运行相同的测试;
  • 构建输出和测试结果均为JSON格式,无需解析输出;
  • xctool只有在发现错误的时候才打印消息,而xcodebuild对每个源文件都会打印。

相关链接:xctool的GitHub托管地址mobilehub主页

6. Conceal

Conceal是一套用于Android平台上进行文件加密和鉴权的Java API,专为速度设计,小巧而高速。它使用了OpenSSL算法的子集和一些预先定义的选项,能够让库保持在较小的体积。通过它,开发者可以实现对手机、平板电脑SD卡中的数据以及大型文件进行加密和存储。

相关链接:Conceal官网GitHub托管地址mobilehub主页

7. Origami

在界面和交互设计上颇让人惊喜的Paper让Facebook的大量开源工具从幕后走向了台前,Origami即为其中之一。这个被盛赞为“交互神器”的设计师新宠,是Facebook设计团队花费了9个月时间开发的一款基于Quartz Composer的插件,能够让设计师无需编程,快速构建移动应用交互原型。

Origami为设计师提供了开关、滚动、弹性动画等一系列自定义控件,并对Quartz Composer进行了改善,比如支持Retina显示器、重新设计工具栏图标等,以帮助设计师更为轻便地实现应用原型交互。

相关链接:Origami官网GitHub托管地址mobilehub主页

8. Bolts(iOS / Android

Bolts是一个面向iOS和Android的底层库集合,分别为Bolts-iOS和Bolts-Android,由Facebook和Parse共同设计完成,于2014年1月基于BSD许可协议开源,其所有源码均托管到GitHub上。Bolts能够让移动应用开发变得更加简单,其组件与Parse及Facebook服务完全无关,因此,开发者无需拥有Parse或Facebook开发者账户即可直接使用。

相关链接:Bolts的Github托管地址mobilehub主页

9. Facebook SDK(iOS / Android

Facebook SDK for iOS(Android)是Facebook官方为iOS(Android)平台提供的Facebook API的SDK,允许开发者将Facebook集成到所开发的iOS(Android)应用中。

相关链接:Facebook SDK的GitHub托管地址(iOS / Android)、mobilehub主页(iOS / Android

10. fishhook

最后,再来介绍一款专门用于iOS安全攻防的开源库。fishhook是Facebook推出的一款能够直接在iOS模拟器及设备上动态修改链接Mach-O符号表的工具。fishhook通过改变间接符号表的偏移量,提供一个假的nlist结构体,从而达到hook的目的,其功能很类似于在OS X上使用DYLD_INTERPOSE。

相关链接:fishhook的GitHub托管地址mobilehub主页

本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

时间: 2024-10-11 01:33:41

直接拿来用!Facebook移动开源项目大合集的相关文章

开源项目大集锦

1.https://github.com/Trinea/android-open-project 2.http://blog.daimajia.com/ 3.http://stormzhang.github.io/ 4.http://android-arsenal.com/ 5.https://github.com/Issacw0ng

开源项目TypeScript

TypeScript 优秀开源项目大合集 TypeScript出来有段时间了,也冒出了很多用TypeScript开发的优秀开源项目,搜寻了一些基于TypeScript项目,分享给大家: https://github.com/brookshi/awesome-typescript-projects 喜欢的朋友请star支持,谢谢. TypeScript 可能有人奇怪这里说的是基于TypeScript的开源项目,为什么TypeScript本身也在这里.其实TypeScript语言本身就是用TypeS

深度学习优质学习项目大放送!-AI Studio精选开源项目合集推荐

近期 在AI Studio上发现了不少优质的开源深度学习项目,从深度学习入门到进阶,涵盖了CV.NLP.生成对抗网络.强化学习多个研究方向,还有最新的动态图,都以NoteBook的方式直接开源出来,并且AI Studio还提供了免费算力,可直接在线运行跑训练任务,推荐深度学习开发者和学习者收藏和研究. 算力获取链接:https://aistudio.baidu.com/aistudio/questionnaire?activityid=667 A. 深度学习新手入门合集 本集合分为四小节,从零介

facebook开源项目集合

Facebook的开源大手笔 1. 开源Facebook平台代码 Facebook在2008年选择将该平台上的重要部分的代码和应用工具开源.Facebook称,平台已经基本发展成熟,此举可以让开发者更全面地理解整个Facebook平台,更容易地为Facebook开发应用软件,并可以回报社区. 该项目代号为“FBOpen”,其中包含了实现Facebook平台的一些基础设施.功能等,如API架构.FQL分析器.FBML分析器.FBJS,以及许多常用方法和标签的实现,代码基于PHP.这意味着其他开发者

优秀的 Android 开源项目

摘要  转载http://www.trinea.cn/android/android-open-source-projects-view/,方便大家找到自己合适的资料 目录[-] 一.ListView 二.ActionBar 三.Menu 四.ViewPager .Gallery 五.GridView 六.ImageView 七.ProgressBar 八.其他 GitHub上优秀Android开源项目 3. Android开发神器 1.Xabber客户端 2.oschina客户端 3.手机安全

自己总结的 iOS ,Mac 开源项目以及库,知识点------持续更新

自己在 git  上看到一个非常好的总结的东西,但是呢, fork  了几次,就是 fork  不到我的 git 上,干脆复制进去,但是,也是认真去每一个每一个去认真看了,并且也是补充了一些,感觉非常棒,所以好东西要分享,为啥用 CN 博客,有个好处,可以随时修改,可以持续更新,不用每次都要再发表,感觉这样棒棒的 我们 自己总结的iOS.mac开源项目及库,持续更新.... github排名 https://github.com/trending,github搜索:https://github.

GitHub 优秀的 Android 开源项目

转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包含ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其它如Dialog.Toast.EditText.TableView.Activity Animation等等. 一.ListView android-pulltorefresh 一个强大的拉动

Android开源项目总结

Android经典的开源项目其实非常多,把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助 项目篇: 1.Apollo音乐播放器 就一个很好的播放器,但是实现的特别好!!! 地址:https://github.com/Splitter/android_packages_apps_apolloMod 2.Oschina客户端 OSChina网站客户端,wp版,ios版都有开源哦. 地址: https://github.com/oschina/android-app 3.Xa

【转】Android开源项目 分类 便于查看

之前转载了一个开源项目的文章,发现那些都是没有系统的总结,这里又转载一篇有系统总结的文章. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和团体篇 Android开源项目第一篇——个性化控件(View)篇 主要介绍那些不错个性化的View,包括ListView.Ac