Android、iOS、Mac开源项目推荐
很多新手(包括我在内)在写项目的时候不知道项目框架如何搭建,很多时候计划的很好,但是随着项目大额增大,最后还是写的一塌糊涂,没有条理,结构很烂,导致我们项目问题不断,最近一直总结这个原因,其实是我们脑袋里没有这些东西,没有这些逻辑结构,缺乏框架的思维,对于我们这些经验比较少的,如果想提高,前期要去模仿,这样让自己熟悉人家写代码的框架,熟悉各种框架之后我们大脑中的这些思维就会存在,才能写出好的项目结构。
为了帮助大家能够学习一些好的项目经验,本篇文章给大家介绍一些国内外的比较好的开源项目,让大家有一个好的学习目标。希望对大家有帮助,以后找到更多开源项目也会不断添加。
Android
=======================================================================================
- SmartisanTech(锤子科技):开源项目包含系统层,OneStep代码。
Github地址:https://github.com/SmartisanTech
=======================================================================================
小米科技:
Github地址:https://github.com/MiCode/主要开源项目:
=======================================================================================
Google:
Github地址:https://github.com/google
Github地址:https://github.com/googlesamples
=======================================================================================
- kickstarter:
Github地址:https://github.com/kickstarter
开源项目: android-oss
=======================================================================================
- Gitskarios:Github非官方Android客户端
Github地址:https://github.com/gitskarios
开源项目:Gitskarios
=======================================================================================
Wire:
这个是一个朋友推荐的国外开源的一个IM项目,各种代码都有,喜欢IM的可以看一下。
IM 方案全套,包含iOS、Android、webapp。Wire:https://github.com/wireapp/
官方网站: Wire
=======================================================================================
Leanote–蚂蚁笔记
这个是我参与的一个笔记软件的开源项目,包括服务端(Go语言),客户端。由于之前Android代码有点问题,我这边的代码能跑起来但是还没有调试完成,因此先添加我的链接,如果有兴趣的可以一起研究,开发,欢迎各位朋友start。
leanote-android:https://github.com/leanote/leanote-android
leanote-ios:https://github.com/leanote/leanote-ios
leanote:https://github.com/leanote/leanote
leanote-chrome:https://github.com/leanote/leanote-chrome
desktop-app:https://github.com/leanote/desktop-app
=======================================================================================
MusicDNA:
A Music Player for android that renders beautiful DNA(Visualization) of the currently playing music.
=======================================================================================
android-UniversalMusicPlayer:
这个项目是谷歌开源的一个音乐播放器项目,意在帮助开发者学习音频文件的一个开源项目。
android-UniversalMusicPlayer:https://github.com/googlesamples/android-UniversalMusicPlayer
=======================================================================================
JamsMusicPlayer
这是国外开发的一个很好音乐播放器,项目做的非常好,希望能帮助大家学习。
JamsMusicPlayer:https://github.com/psaravan/JamsMusicPlayer
=======================================================================================
Launcher-mx:
这是我准备开源的一个手机桌面项目,由于时间关系暂时没有做修改,不够最近会开始进行改造,做个轻量级、美丽的桌面,希望大家能够提出更多的意见。
Launcher-mx:https://github.com/yuchuangu85/Launcher3_mx
=======================================================================================
StormPlane:
《沙漠风暴》是一款基于Android开发的纵版飞行射击游戏,以雷电(Shooting Game)为原型,参考微信打飞机大战,通过自定义的SurfaceView来实现游戏,游戏画面、音乐、战斗特效都不错
StormPlane:https://github.com/HurTeng/StormPlane
=======================================================================================
- Github客户端源码:Gitskarios
由于原作者不再进行维护,所我Fork到了我自己的仓库。
Gitskarios:https://github.com/yuchuangu85/Gitskarios
- SmartCropper
A library for cropping image in a smart way that can identify the border and correct the cropped image. 智能图片裁剪框架。自动识别边框,手动调节选区,使用透视变换裁剪并矫正选区;适用于身份证,名片,文档等照片的裁剪。
SmartCropper:https://github.com/pqpo/SmartCropper
=======================================================================================
- Kickstarter:https://github.com/kickstarter/android-oss
=======================================================================================
- EasyPusher_Android:https://github.com/EasyDarwin/EasyPusher_Android
=======================================================================================
- Fragmentation: Fragmentation
为”单Activity + 多Fragment”,”多模块Activity + 多Fragment”架构而生,简化开发,轻松解决动画、嵌套、事务相关等问题。
=======================================================================================
- CainCamera:CainCamera
CainCamera是一个美颜类相机,主要用于学习如何实现实时美颜、滤镜、贴纸、拍照、短视频分段录制、回删等美颜类相机预览相关功能, 静态图片的一键美化、特效、裁剪旋转、贴纸、文字、调节、涂鸦、马赛克、边框、夜景增强、虚化、抠图虚化等功能, 视频编辑中的滤镜、添加音乐、混音、变声变速、添加字幕、视频剪辑、魔法涂鸦、嘻哈特效、MV特效等功能, 以及各部分功能的一些优化实践。目前图片编辑与视频编辑功能仍在开发当中
=======================================================================================
- AndroidPhotoFilters:AndroidPhotoFilters
AndroidPhotoFilters aims to provide fast, powerful and flexible image processing instrument for creating awesome effects on any image media.
======================================================================================
iOS
=======================================================================================
kickstarter:
Github地址:https://github.com/kickstarter
开源项目:ios-oss
=======================================================================================
* Kapeli:
Github地址:https://github.com/Kapeli
开源项目: Dash-iOS
Mac
=======================================================================================
macdown:一款开源的macdown软件
Github地址:macdown
=======================================================================================
- IINA:Mac系统下的开源播放器
Github地址:IINA
- Gitbook:mac系统下的文本编辑器
Github地址:Gitbook
- Lepton:开源的跨平台代码片段管理工具(Mac OS,Windows,Linux)
Github地址:Lepton
Alamofire:Alamofire是一个用Swift编写的HTTP网络库,由此前热门开源项目AFNetworking的的作者mattt开发,可非常简单地用于异步网络通信。
关于何时使用AFNetworking,何时使用Alamofire,可参看作者对两种情况的分析,不过很好的一点是AFNetworking和Alamofire两个库并不相互排斥,可以很好地共存于相同的代码库中。
Github地址:Alamofire
=======================================================================================
Surge(Swift + Accelerate):Surge基于Accelerate框架开发,用于执行矩阵数学、数字信号处理以及图像处理等方面。换句话说,它可以快速处理复杂的数学、语音以及图像信号。并且依然来自于大神级人物mattt。
Github地址:Surge
=======================================================================================
SwiftyJSON:SwiftyJSON使得用Swift处理JSON数据更加容易。这是解析JSON字符串封装类。实现功能与Javascript中的JSON.parse相近,使用方便。
Github地址:SwiftyJSON
=======================================================================================
Dollar.swift:Dollar是一个Swift库,提供了有用的函数式编程辅助方法,无需扩展任何内置对象。Dollar类似于Lo-Dash或者Javascript中的Underscore。
Github地址:Dollar
=======================================================================================
- ExSwift:包含一组标准类型和类的Swift扩展。
Github地址:ExSwift
=======================================================================================
SwiftTask:SwiftTask是用Swift编写的状态机,综合了 Promise + progress + pause + cancel,使用 SwiftState ( Swift 编写的优雅的状态机)。
Github地址:SwiftTask
=======================================================================================
HanekeSwift:Haneke 是一个用 Swift 编写的轻量级iOS通用缓存,易于使用。
Github地址:Haneke
=======================================================================================
- Cartography:Swift声明Auto Layout
Github地址:Cartography
=======================================================================================
Sleipnir:Sleipnir是一个适用于Swift的BDD(Behavior Driven Development)风格框架,灵感来自于Cedar(一款BDD风格的Objective-C测试框架)。
核心原则:Sleipnir不依赖NSObject,是纯Swift BDD测试框架;Sleipnir不使用XCTest;有着很好的命令行输出,支持自定义测试报告,等等。
Github地址:Sleipnir
=======================================================================================
Quick:Quick是一个适用于Swift和Objective-C的行为驱动开发测试框架。借鉴了RSpec, Specta以及Ginkgo。
Github地址:Quick
=======================================================================================
create-dmg:Create a good-looking DMG for your macOS app in seconds
Github地址:create-dmg
=======================================================================================
iina:The modern video player for macOS. https://lhc70000.github.io/iina/
Github地址:iina
=======================================================================================
CotEditor:Lightweight Plain-Text Editor for macOS https://coteditor.com
Github地址:CotEditor
=======================================================================================
ThemeKit:macOS theming library
Github地址:ThemeKit
=======================================================================================
注
2017年2月13日更新
后续会持续更新…
Android开发群:192508518
微信公众号:Code-MX