如何利用github学习项目_Github几个非常值得学习的项目 - Go语言中文社区

如何利用github学习项目_Github几个非常值得学习的项目


点击上方的终端研发部,右上角选择“设为星标

每日早9点半,技术文章准时送上

公众号后台回复“学习”,获取作者独家秘制精品资料

292ca5a7fb874f86eefa5cd8909e4659.png

往期文章

记五月的一个Android面试经

今日头条屏幕适配方案落地研究

APK瘦身-是时候给App进行减负了

漫画:App 防止 Fiddler 抓包小技巧!

浅谈final、finally、finalize有什么不同?

292ca5a7fb874f86eefa5cd8909e4659.png

来源:luhua

原文链接:http://www.php100.com/9/577.html

前言

分享 2019 年 5 月 GitHub 上比较流行的 9 个和 Android 开发相关的开源项目,非常值得学习和收藏,包括Kotlin 的 linter、mock 库、对话框、日历、矢量绘图组件,依赖注入框架,内存泄露检测库等。

首先几个不错的Kotlin相关的git项目

1、阅读精选Kotlin版

RsKotlin2.0版本是基于Kotlin开发的一个Android学习的App,API主要来源是wanandroid,同时也包含部分豆瓣API和知乎日报API。App遵循MD风格,也加入了Lottie的动效,想学习Kotlin的童鞋可以参考。

8e90f827c6085097840e1d4eed931e23.png36ca4798f1ed34a2a5137589ab784f9e.png

GitHub 仓库地址:https://github.com/LeeeYou/RsKotlin/

2、kotlin-android-starter

一个Kotlin工具项目,内含不同效果,很值得去学习

a94f32496687b27457cf4c70e6e5b865.gif

GitHub 仓库地址:https://github.com/androidstarters/kotlin-android-starter

3、GankClient-Kotlin

gank.io kotlin实现的干货集中营客户端,风格采用了Material Design. 多数控件都是design包里面的。MVP架构 Rxjava + Retrofit + okhttp3 +Dagger2+Kotlin

ac0967e577cb8552d09eb7faa9910022.png6789f20fa3b355517232e0e6e864c774.png

GitHub 仓库地址:https://github.com/githubwing/GankClient-Kotlin

4、FanfouHandpick 饭否精选

本项目采用 Kotlin 开发,如果你使用的是 Java 进行Android开发,那么,在编译次项目时,需要在Android Studio中安装插件,并进行相关的配置。

745e547d91116d37bdbe83abd5d87fa6.png

GitHub 仓库地址:https://github.com/TonnyL/FanfouHandpick

Kyrie

VectorDrawable 和 AnimatedVectorDrawable 的超集。

09ea016205724f6cca15b98865928453.gif

VectorDrawable 提供了像素密度无关性——在任意设备上随意缩放而不损失画质。AnimatedVectorDrawable 在其基础上添加了动画特性。然而,它们有三大缺陷:

  • 无法暂停和继续。

  • 无法在运行时动态创建。

  • 相比 web 上的 SVG,它们仅仅支持少量特性。

GitHub 仓库地址:https://github.com/alexjlockwood/kyrie

square 开源的内存泄露检测库—LeakCanary

GitHub 仓库地址:https://github.com/square/leakcanary

Material Dialogs

kotlin开发APP非常使用的一个组件,美观、可扩展的 Material Design 风格对话框。采用模块化架构,核心模块(core)包含了核心功能和基本功能,文本输入框、文件选择器、色彩选择器、时间日期选择器、弹出表单等功能作为扩展模块提供,可单独引入。支持 AndroidX 生命周期组件。

c13606af987b041fe83e7de21640b693.png

GitHub 仓库地址:
https://github.com/afollestad/material-dialogs

CalendarView

基于 RecyclerView 的日历库。

GitHub 仓库地址:https://github.com/kizitonwose/CalendarView

Assent

面向 Kotlin 和 AndroidX,让 Android 的运行时权限控制易于开发。

8d32edaacb4b3e14e0fec0c0d0d8c31c.png

GitHub 仓库地址:https://github.com/afollestad/assent

mockk

Kotlin 的 mock 测试库,不仅支持常规的单元测试,还支持在真机或模拟器上运行的 instrumented 测试。

mockk 提供了全面、强大的特性,可以 mock 类、对象、私有函数、协程等多种结构(Android P 之前的版本 instrumented 测试有少数特性不支持)。

官网:mockk.io

KOIN

面向 Kotlin 开发者的轻量依赖注入框架。

KOIN 提供了轻量的函数式依赖注入 DSL,无需代码生成和反射。

850ab81a4c545fafdd09fc9e0a2aa5aa.png

官网:insert-koin.io/

Firefox Fenix

Firefox Fenix 基于 GeckoView 和 Android components 开发。GeckoView 是 Mozilla 开源的 Android 库,封装了自家的 Gecko 浏览器引擎。Android 上的 Firefox Reality (面向 AR 设备的浏览器)和 Firefox Focus (主打极简 UI 和隐私保护的浏览器)用的也是 GecokView。Android components 则是 Mozilla 使用 Kotlin 开发的一套 Android 组件库,这套组件库主要面向浏览器和类浏览器应用。顺便提一下,由于 Android components 使用 Kotlin 开发,Firefox Fenix 也顺理成章地使用 Kotlin 开发。

GitHub 仓库:mozilla-mobile/fenixhttps://github.com/mozilla-mobile/fenix

ktlint

开箱即用的 Kotlin linter:

  • 零配置。采用官方风格(kotlinlang.org 和 Android Kotlin 风格指南)。

  • 内置格式化功能,类似 Go 语言的 gofmt。

  • 单一可执行 jar 文件,内置所有依赖(当然,你还是需要自备 jvm 的)。

  • 可搭配 maven、gradle、GNU Emacs、Vim 使用。

注意「零配置」的意思是并不提供多种风格选项让你选择,但是你仍然可以通过自行编写规则来自定义 linter 的行为。另外,ktlint 也会遵循 .editorconfig 中的设置。

ktlint 也可搭配 IntelliJ IDEA 使用。不过通常没有这个必要,可以直接使用 IDEA 内置的代码格式化功能(效果和 ktlint 一致)。暂时也没有 vscode 插件,不过可以通过 sonarlint 曲线使用。

官网:ktlint.github.io

结语

五月初召开的 Google I/O 2019会议上,宣布 Kotlin 为 Android 开发的首选语言,Jetpack API 和特性将首先提供 Kotlin 支持,并建议新项目使用 Kotlin 编写。有很多人说Kotlin凉了,Flutter凉了,android原生凉了,殊不知在当前的大环境下,没有哪个语言凉,没有那个语言热,反而是和个人的能力挂钩的,没有稳定的语言,只有过硬的能力。当然 我这里也并没有批判那种语言,如果继续做android的话,个人认为,kotlin是必学之选。很多开源的工具用kotlin重写,从Jetpack上可以看出来Google对于kotlin是多么的青睐,这些事实,或多或少的能反应了Android 生态的重心正向 Kotlin 偏移。

不过在个人看来,Kotlin是非常有必要去学习的,如果时间允许的话还是跟着官方文档去学习是一个不错的选择。这样在面试的时候也能增加给自己加分。最后希望大家在开发这条道路上能走的更高,更远!

阅读更多

这样写简历,offer不给你给谁?

打开Flutter动画的另一种姿势——Flare

上两个月,15家面试,几个offer , 我的面试历程!

高仿Android「填空题」控件!手撸一个炫酷的View动效

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

e4807f9713253bda22d9bdb6734b727b.png

7e9ad144826d81ee650d670bf0ef8e1a.gif

喜欢就给个“在看” 88acef424fe559ae7035effccfd90ef7.gif

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_39886251/article/details/111286088
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-31 01:09:52
  • 阅读 ( 587 )
  • 分类:Go开源项目

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢