美文网首页蚂蚁金服我的面试准备
支付宝使用的开源技术一览

支付宝使用的开源技术一览

作者: 阿飞的博客 | 来源:发表于2019-01-25 00:07 被阅读15次

    看过来,看过来,看看支付宝客户端用了哪些开源技术。这可不是笔者瞎编的,你可以通过打开支付宝客户端,点击“我的->设置->关于->版权信息"验证。

    • gson
      谷歌开源的json处理工具。

    • jackson-databind/core/annotation
      jackson三大组件。

    • fastjson
      阿里巴巴开源的json处理工具。

    这支付宝客户端把当今最优秀的三大JSON解析器全引用进来了。

    • okhttp
      一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献用于替代HttpUrlConnection和Apache HttpClient,Java服务端也可以使用

    • okio
      Okio是一款轻量级IO框架,由Square公司打造,是著名网络框架OkHttp的基石(OKHttp底层IO操作库)。Okio结合了java.io和java.nio,提供阻塞IO和非阻塞IO的功能,同时也对缓存等底层结构做了优化,能让你更轻快的获得、存储和处理数据。

    • OpenSSL
      是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现;

    • cJSON
      cJSON是一个仅有一个.h文件,一个.c文件组成的JSON解析器,它是由纯C(ANSI C89)实现的,跨平台性较好。cJSON中有一个cJSON结构体。cJSON是采用链表存储的。

    • Json11
      GitHub上dropbox的json11库的使用,地址:https://github.com/dropbox/json11,它用起来非常方便,只有两个文件,一个json11.hpp,一个json11.cpp;

    • DiskLruCache
      谷歌推荐的用来实现硬盘缓存的类(不同于LruCache将数据缓存到内存中),例如可以将网络下载的图片永久的缓存到手机外部存储中去,并可以将缓存数据取出来使用。参考:https://github.com/JakeWharton/DiskLruCache

    • EventBus
      事件发布/订阅轻量级框架, 简化了组件之间通信。如果Java服务端想使用这个组件的话,google-guava已经有提供。

    • dagger
      Dagger是为Android和Java平台提供的一个完全静态的,在编译时进行依赖注入的框架,原来是由Square公司维护,现在由Google维护。

    • tagsoup
      TagSoup是一个Java开发符合SAX的HTML解析器;

    • lua
      Lua 是一个轻量级脚本语言,常用于嵌入其他语言作为补充,例如Nginx和Android中都可以嵌入lua。在 Android 中嵌入Lua优点很多,借助Lua脚本语言的优势,可以轻松实现动态逻辑控制,应用可以随时从服务器读取最新Lua脚本文件,在不更新应用的情况下修改程序逻辑。

    • aspectj
      面向切面编程的框架。

    • zip/lz4/zlib
      几种开源的压缩算法。

    • FFmpeg
      FFmpeg是一套可以用来记录、转换音频、视频,并能将其转化为流的跨平台解决方案,官网地址:http://www.ffmpeg.org/

    下面是一些纯粹的Android客户端相关技术:

    • TheMVP(对应于服务端的MVC,是一种编程模式)
    • ijkplayer(B站开源一个基于ffplay的轻量级Android/iOS视频播放器)
    • ViewPagerIndicator(https://github.com/JakeWharton/ViewPagerIndicator
    • XRecyclerView(实现下载刷新,底部加载更多)
    • DanmakuFlameMaster(B站贡献的开源弹幕项目)
    • achartengine(Android图表库)
    • CircleImageView(圆形图片展示控件)
    • ProgressWheel(圆形进度条空间)
    • andriodquery(安卓快速开发框架)
    • android-stackblur(对图像进行模糊化处理的库)
    • Android-Charts(安卓图形图标空间)
    • android-support-library(安卓平台一系列向后兼容的库)
    • androidannotations(安卓注解框架)
    • android-gif-drawable(gif动态图加载框架)
    • css-layout(CSS布局框架)
    • NineOldAndroids(Android3.0之前用到的动画开源库)
    • Leakcanary(Android内存泄漏分析利器)
    • duktape(轻量级的嵌入式JavaScript引擎,专注于可移植性和低占用率)
    • libyuv(Google开源的跨平台实现各种YUV与RGB之间相互转换、旋转、缩放的库)
    • libjpeg-turbo(编码/解码数据为JPEG格式的库)
    • unqlite(内嵌的NoSQL(KV和文档存储)数据库引擎)
    • stun(一种网络协议)
    • mbedtls(TLS和SSL协议实现的算法库)

    相关文章

      网友评论

        本文标题:支付宝使用的开源技术一览

        本文链接:https://www.haomeiwen.com/subject/sktpdqtx.html