直接拿来用!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月在Mobile@Scale大会上正式发布,旨在解决笨重、缓慢的传统移动网络界面。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(#换成@)

转载于:https://www.cnblogs.com/qingchen1984/p/5051543.html

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

  1. Android开源项目大合集(转载的基础上添加了项目地址)

    WeChat高仿微信 项目地址:https://github.com/motianhuo/wechat 高仿微信,实现功能有: 好友之间文字聊天,表情,视频通话,语音,语音电话,发送文件等. 知乎专栏 ...

  2. 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)

    目前,国外计算机界评价学术水平主要是看在顶级学术会议上发表的论文,特别是在机器学习.计算机视觉和人工智能领域,顶级会议才是王道.本期我们盘点了2019年人工智能领域的顶会,如最核心的顶会AAAI.IJ ...

  3. 独家 | 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)

    目前,国外计算机界评价学术水平主要是看在顶级学术会议上发表的论文,特别是在机器学习.计算机视觉和人工智能领域,顶级会议才是王道.本期我们盘点了2019年人工智能领域的顶会,如最核心的顶会AAAI.IJ ...

  4. 精选28套Java实战项目大合集

    Java项目精选合集(附源码+资料+数据库)帮助你轻松搞定毕业设计! 28套精选java实战项目,无偿分享给小伙伴哟~ 为初学者而著 适合零基础的小伙伴们学习. 感兴趣的小伙伴可以点视频链接和小编一起 ...

  5. 13 个优秀的 Vue 开源项目及合集推荐

    关注不迷路 Vue 结合了 React 和 Angular 的优点,并且有着团结.活跃且庞大的社区,可以帮助解决开发中遇到的问题.开源社区不断提出解决问题的新方法.工具和库的数量也贡献量不断的增加. ...

  6. 26套Java实战项目大合集

    最新最全的JAVA项目合集来啦,看完这26套毕设不再发愁 最近UP整理了一些Java项目,从初级练手项目到企业级电商项目,全部配备源码及笔记,如果你能全部吃透,直接成神,各个大厂都为你打开大门! 大家 ...

  7. github开源项目大集合(1)

    github开源项目大集合 目前包括: Android 开源项目第一篇--个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridV ...

  8. 2021年全球知名开源项目大更新

    下面简单回顾 2021 年一些带来较大变化和影响的项目更新信息. PHP 8.1.0 正式发布 枚举,只读属性,First-class 可调用语法,新的初始化器,纯交集类型,Never 返回类型,Fi ...

  9. 高级信息系统项目管理(高项 软考)原创论文项目背景合集

    以下为原创的高项论文项目背景合集5篇,建议自己以此为基础,再多多打磨完善一下,避免雷同,同时使项目背景更加真实可信. 一.某市智慧工地系统建设项目 某市住建局智慧工地系统建设项目是在该市住建局促进建筑 ...

  10. 【毕设|Java项目开发合集】(附源码)

    [毕设|Java项目开发合集] 14个Java项目(附源码)助你轻松搞定毕业设计! 1.新冠疫情统计系统 2.家教系统 3.进销存管理系统 4.饮食分享平台 5.宠物领养平台 6.销售评价系统 7.酒 ...

最新文章

  1. HTML做3D立体特效,html5 3D立体粒子波浪动画特效代码
  2. 计算机丢失quartz.dll什么意思,win7系统中出现缺少quartz.dll文件的修复方法
  3. android Integer类的toString函数的使用
  4. SecureCRT也能和Xshell一样批量导入主机
  5. ios开发跳转safari_阻止iOS Web APP中点击链接跳转到Safari 浏览器新标签页
  6. erlang下lists模块sort(排序)方法源码解析(二)
  7. scrapy 中不同页面的拼接_scrapy使用技巧总结
  8. 信息传输计算机服务业,信息传输软件和信息技术服务业包括哪些
  9. pygame-KidsCanCode系列jumpy-part6-主角挂掉重新开始
  10. 机器学习基石(1)--The Learning Problem
  11. 简单直观理解形态学中的开运算和闭运算
  12. (转)遇到重复的Maven项目初始配置,就要创建自己的Maven Archetype
  13. MVC案例之DAO层实现
  14. 什么软件能打开prt文件_prt文件除了UG和PROE还可以用什么软件打开?
  15. 什么是FDR校正,核磁共振成像中FDR校正方法有哪些?如何进行FDR校正?
  16. 日期对象 date.getDate() date.getDay()的区别
  17. 金航数码再度携手 The Open Group年度峰会
  18. 问题 C: 合唱队形
  19. lucene Lucene Spatial
  20. 第八章 win10+gsoap+onvif+ffmpeg

热门文章

  1. 哪些因素会影响工控机的正常运行?
  2. 数据恢复技术在计算机犯罪侦查中的应用,计算机数据恢复技术在犯罪侦查中的应用论文...
  3. 今日指数项目之ETL数据业务开发(需求说明)【八】
  4. SpringMVC---初识、Restful风格、JSON
  5. java三元运算符语法格式,含爱奇艺,小米,腾讯,阿里
  6. 煮饭的机器人作文_二年级状物作文:做饭机器人_450字
  7. tpo20 integrate writing
  8. 使用mybatis在测试类中往数据库插入数据但是表里没有数据
  9. Radiology:神经影像学在痴呆症中的应用
  10. yolov5 Coremltools