Github开源项目之:Swift
导航
- Github开源项目之:C
- Github开源项目之:C#
- Github开源项目之:C++
- Github开源项目之:CSS
- Github开源项目之:GO
- Github开源项目之:Java
- Github开源项目之:JavaScript
- Github开源项目之:Kotlin
- Github开源项目之:Objective-C
- Github开源项目之:Python
- Github开源项目之:Ruby
- Github开源项目之:Rust
- Github开源项目之:Swift
- Github开源项目之:PHP
- Github开源项目之:人工智能
- Github开源项目之:开源书籍
- Github开源项目之:其他相关
内容来源于网络
前言
分享Github开源项目,在玩的过程中学习,2023年每天的目标就是研究几个项目,寻找点乐趣。
开源项目
001.Kingfisher
Kingfisher 是一个异步下载和缓存图片的库,你可以把它看做 SDWebImage 的纯 Swift 实现和替代。它可以帮助简单地实现像是用户头像或者 table view 里面的图片的下载和缓存这样的工作,以提高 app 速度和帮助开发者节省时间
002.MiaoYan
一款 macOS 上的 Markdown 编辑器。采用 Swift5 原生开发,适用于 macOS 的 Markdown 编辑器「妙言」。界面清爽好看,支持 PPT 模式、语法高亮、黑暗模式等功能。
003.Swift-30-Projects
30 个小型 Swift Apps,可以用来上手学习、练习移动开发。
004.EmojiIntelligence
完全用 Swift 实现神经网络的 Demo
- 第一步设置 emoji 对应的图形
- 使用神经网络识别图形,返回 emoji 表情
005.LyricsX
一个为 iTunes、Spotify、Vox 播放器提供自动下载歌词,并在桌面和任务栏显示的插件
006.iina
Mac 下开源多媒体播放器,支持多国语言、高逼格 UI。安装:brew cask install iina
007.Gifski
Gifski这个开源程序可以将一系列图片或一段视频转化为高质量的gif,高质量是这个程序最大的特色,下面我们将从使用与评价两个方面来介绍这个程序。Gifski实际上适用于windows,mac以及linux三个平台,唯一不同的是,mac平台上的gifski内置了视频分帧工具,因此可以直接把视频拖入程序窗口即可生成gif,而其它平台上则只能使用第三方程序分帧后才能处理,并且要在命令行中运行
008.FileHider-for-mac
一款将你的文件夹、文件隐藏起来的小工具。适用于 macOS X 10.10 及以后的版本
009.Bartinter
状态栏外观管理组件。可根据背景的颜色,动态地更改状态栏的颜色,使状态栏的信息可读
010.iOS-Developer-Roadmap
(英文) iOS 开发者学习路线图
011.CocoaDebug
iOS APP 内置调试工具,支持 log 日志查看、网络抓包、沙盒查看等功能,代码零入侵。
012.IBAnimatable
一个帮助我们在 Interface Builder 和 Swift Playground 里面设计 UI、交互、导航模式,、换场和动画的开源库。下图的整个 App 都是通过 IBAnimatable 在 Interface Builder 设计完成,没有任何一行代码。
013.TuringCalendar
图灵教育推出的限量款编程日历 2018,因为简约大气的设计和每周一个编程语言的介绍,在程序员中广受欢迎。现在日历 PDF 的源文件已经开源,于是就有了这个项目。一个 macOS 桌面上的日历 widget,效果图如下:
014.GodEye
一行代码自动显示日志、崩溃、网络、ANR、泄漏、CPU、文件夹等信息,就像上帝睁开眼睛一样
015.Bagel
一个小型、原生的 iOS 网络调试工具。使用过程不需要配置证书、代理之类的东西。只需要 iOS 设备和 Mac 处于同一网络,就可以查看、监控 App 的网络流量等信息
016.uPic
一款 macOS 端的图床客户端,支持多种免费、付费的图床,让你方便快捷的上传图片,醉心于内容创作的工具
017.Percentage
让 Swift 语言支持百分比类型,消除精度缺失的烦恼。
示例代码:
1 | import Percentage |
018.AppearancesSwitcher
可以在 macOS 通知中心上快速切换“亮/暗”主题的小工具
019.EFQRCode
一个轻量级的、用来生成和识别二维码的纯 Swift 库,可根据输入的水印图和图标产生艺术二维码
020.Brooklyn
炫酷的苹果电脑屏幕保护程序
021.PopMenu
一款简单、漂亮、方便、灵活自定义的弹出菜单组件。如果你的 App 需要一款灵活好看的弹出菜单的话,那么 PopMenu 值得你一试
022.timer-app
一个 macOS 上简单的计时器软件。拖动蓝色箭头设置时间,当时间到了会显示通知,并发出一个很好的声音
023.pock
一款在苹果电脑的触控栏中,显示 macOS 程序坞的开源工具
024.SwiftyGif
高性能且上手容易的 Swift GIF 库。
示例代码:
1 | import SwiftyGif |
025.lottie-ios
Airbnb 开源的快速实现 APP 动画的三方库。还有支持 Android、React Native、Web、Windows 等平台,动画效果如下:
026.YLExtensions
它解决了 UITableView 及 UICollectionView 注册和配置过程不得不写很多重复代码的问题
1 | import YLExtensions |
027.Aerial
炫酷的苹果系统屏保项目。该屏保视频取材自苹果零售店 Apple TV 的专用屏保,航拍质量超棒,快换上试试吧。直接下载 Aerial.saver.zip 文件,解压后即可运行。
028.stats
macOS 菜单栏上的监控工具。支持 CPU、GPU、内存、网络等监控和多语言
029.Mos
一个用于在 macOS 上平滑鼠标滚动效果或单独设置滚动方向的小工具。让你的滚轮爽如触控板般丝滑
030.ZLPhotoBrowser
轻量级照片选择框架。它使用简单、功能丰富,支持预览/相册内拍照及录视频、拖拽/滑动选择、编辑裁剪图片/视频等功能。
示例代码:
- Preview selection
1 | let ps = ZLPhotoPreviewSheet() |
- Library selection
1 | let ps = ZLPhotoPreviewSheet() |
031.Dozer
隐藏 macOS 状态栏图标的工具,使状态栏看起来更整洁
032.SwiftDate
Swift 处理时间和日期的开源三方库。
示例代码:
1 | // All default datetime formats (15+) are recognized automatically |
033.SwiftUI
该项目参考 SwiftUI 官方示例,记录代码和展示效果
034.vimr
Neovim 的 macOS 版
035.xcode-dev-cleaner
用于清理各种 Xcode 的缓存数据,释放存储空间。注意是清除 Xcode 缓存数据,不是卸载 Xcode 哈
036.mas
Mac App Store 命令行版
037.Moya
基于 Alamofire 的轻量级 Swift 网络层框架。它提供了网络抽象层,使用起来足够简单,能够方便地与 RXSwift、PromiseKit、ObjectMapper 结合,轻松地应对常见的开发任务。同时也非常全面,应对复杂任务也同样容易。最后 Moya 有一个很棒的社区,贡献者们提供了很多实用的扩展
1 | provider = MoyaProvider<GitHub>() |
038.MTMR
自定义 TouchBar 的应用。
039.iGlance
macOS 状态栏系统监视器
040.SwiftPamphletApp
一款免费开源的 Swift 手册工具。能够帮助开发者方便地查看 Swift 语法和常用库的使用指南,除此之外还可以接收 Swift 开源库的动态
041.Pine
一个免费、轻量、简洁的 macOS Markdown 编辑器。
功能:
- 主题
- LaTex 公式
- 自动保存
- 自定义字体
- 字数统计等写作分析
- 等等
042.Publish
专为 Swift 开发人员准备的静态网站生成器。让你实现整个网站都是用 Swift 构建的工具,支持多种主题、插件以及更多强大的自定义选项。示例网站,安装和快速开始:
1 | git clone https://github.com/JohnSundell/Publish.git |
043.Maccy
适用于 macOS 的轻量级剪贴板管理工具。支持复制内容的历史记录、快速搜索、快捷键选择等
044.SQLite.swift
纯 Swift 实现的轻量级 SQLite3 数据库框架。采用链式编程的写法,让数据库的管理变得优雅。代码容易理解,即使你不会 SQL 语句,也可以轻松查询数据库
1 | import SQLite |
045.awesome-ios
超棒的 iOS 开源项目集合。它非常全面包含 Objective-C、Swift 语言的项目,拥有网络、UI、JSON、数据库、音视频等分类,iOS 初学者寻找开源项目的好地方
046.Knot
一款 iOS 抓包工具。实现了 HTTP(S) 解析、流量解析、多格式导出、证书管理以及过程分析等
047.SwiftUITodo
用 SwiftUI 做的 Todo 工具。这是一个示例项目帮助新手掌握 SwiftUI
048.flappy-fly-bird
用 Swift 写的 Flappy Bird 游戏
049.Hue
一个集合多功能于一体的着色工具。在 iOS 开发中非常好用,可以快速简单的进行 UI 的颜色设置、透明度修改、设置渐变颜色、修改图片的颜色等。相比于使用 Swift 原生繁重复杂的 RGBA 颜色 API,Hue 仅需要一行代码,简洁易用。
示例代码:
1 | let color = UIColor(hex: "#3b5998") |
050.Grid
受 CSS Grid 启发,用 SwiftUI 编写关于视图(view)布局的开源项目
051.SwiftyJSON
一个 Swift JSON 三方库,用更简单的方式处理 JSON
052.firefox-ios
Firefox 浏览器 iOS 源码
053.SwifterSwift
500合1 的原生 Swift 扩展库集合。集成了 500 多个原生 Swift 扩展的库,提供了更加方便的函数、语法糖、数据类型、UIKit 以及更高性能的 Cocoa 类,提高 Swift 的开发效率实现 1+1>2 的效果。适用于 iOS、macOS、tvOS 等系统
054.Design-Patterns-In-Swift
设计模式 Swift 5.0 实现。中文版
Usage:
1 | // Create piles of money and link them together 10 < 20 < 50 < 100.** |
055.IGListKit
Instagram 推出的一套数据驱动的 UICollectionView 框架,用来创建快速且灵活的列表界面。提供了更简单的使用 UICollectionView 方式,并且支持对自己的数据模型进行自定义 diff 操作,提供更好的架构以复用 Cell 和组件
056.Observable-Swift
一个在 Swift 上实现 KVO 的轻量级工具。简单易用地解决了 Swift 相对于 Objective-C 缺少 Key Value Observing(KVO)的问题
1 | // create a Observable<Int> variable |
057.FlappySwift
用 Swfit 写的 Flappy Bird 游戏
058.NetNewsWire
适用于 macOS 和 iOS 的 RSS 阅读器
059.Charts
支持 iOS/tvOS/OSX 的图表库。
功能:
- 8 种不同的图表类型
- 两个轴支持缩放和缩放手势
- 组合图表、导出图片
- 等等
060.eul
一款极简免费的 macOS 状态监控工具。
061.Runestone
适用于 iOS 的高亮文本编辑器。基于 Tree-sitter 实现的高性能 iOS 文本编辑器,支持多种编程语言的语法高亮,以及行数、显示不可见字符、插入符号对等功能。
062.SwiftFormat
用于格式化 Swift 代码的工具。当多人合作开发项目的时候,一致的代码风格就变得至关重要。该项目可以自动统一 Swift 代码风格,支持多种编辑器和命令行方式调用,适用于 macOS 和 Linux,让 Swift 代码风格统一变得十分简单和方便。
063.WhatsNewKit
轻松展示应用新功能的 Swift 组件。当开发者为应用增加了新功能,就需要在用户更新后告知新功能和内容。通过该组件可以轻松展示新功能,支持高度自定义、SwiftUI、iOS 和 macOS 系统。
1 | import SwiftUI |
064.WordPress-iOS
官方开源的 WordPress iOS 客户端
065.MonitorControl
控制 macOS 外接显示器的工具。一款 macOS 多显示器控制工具,有了它就能够在菜单栏或使用快捷键,轻松地控制外接显示器的音量、亮度、对比度。
066.SwiftMessages
一个非常灵活的 iOS 消息库。用 Swift 编写的消息组件,它可以将消息灵活地显示在屏幕顶部、底部、中央,还提供了几款好看的布局和主题,拿来即用十分方便。
1 | // Instantiate a message view from the provided card view layout. SwiftMessages searches for nib |
067.OnlySwitch
免费开源的 macOS 状态栏一键设置工具。可以轻松对系统功能进行设置,如隐藏桌面图标、清理 Xcode 缓存、一键隐藏刘海儿、进入夜览模式等数十种功能
068.TermiWatch
终端风格的 iWatch 手表面
069.isowords
3D 魔方单词消消乐游戏。这是一款用 Swift 编写的 iOS 游戏,玩家可以选择 3D 立方体上的字母组成英文单词,如果一个字母被使用 3 次,该字母立方体就会消失,显示下面更多的字母。支持限时、无限、多人三种游戏模式,以及每日挑战和全球排行榜。
070.swift-benchmark
用于对 Swift 代码片段进行基准测试的库。该项目是谷歌开源的用来测试 Swift 代码片段性能的库。
Usage:
1 | let package = Package( |
071.TinyPNG4Mac
适用于 macOS 的 TinyPNG 第三方客户端。TinyPNG 是一个提供免费图像压缩服务的网站,该项目是其第三方 macOS 客户端,可以让你无需打开浏览器、无需手动下载图片,仅通过简单的拖拽就能完成对 JPEG、PNG 图片的压缩。
072.Plash
将网站变成 Mac 桌面壁纸。这是一款适用于 macOS 的桌面壁纸应用,支持将多种网站设置为壁纸,这些网站并不局限于图片网站,还可以是新闻、气象等站点。
073.CotEditor
一款适用于 macOS 的轻量级纯文本编辑器。它免费、整洁、启动速度快,拥有看起来十分舒服的界面。
074.DevUtils-app
macOS 上的开发者实用工具箱。单机应用无需联网,内含开发者开发时经常用到的 30 多种工具,比如:URL 解码、JSON 格式化、正则匹配、时间戳转化等,而且还会根据剪贴板的内容,自动推荐对应的处理工具,实用且高效
075.vapor
流行的 Swift 语言 Web 框架。核心框架基于非阻塞事件驱动库 SwiftNIO 构建,除此之外还提供了 ORM、模版引擎、用户身份验证等模块,可用来快速创建网站、接口等服务。中文文档
076.Clipy
macOS 的剪贴板扩展应用。支持展示剪贴板历史记录、内容模版等功能
持续更新中…