Skip to content

Commit d4068e5

Browse files
author
iPader
committed
Updated recently included Swift projects
1 parent ea94ec6 commit d4068e5

10 files changed

+233
-99
lines changed

2019/OpenSourceforSwift-ApplicationArchitecture-MindNode.md

Lines changed: 138 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -34,51 +34,59 @@ AR 与 GPS 精确数据的结合,开始一次导航之旅。非常重要的实
3434
# Developer Tools
3535

3636

37-
## XCTest
37+
## Package Manager
3838

39-
### <*testing framework*>
Quick/Quick & Quick/Nimble
➟ iOS | macOS
39+
### <*Package Manager*>
apple/swift-package-manager
➟ macOS
4040

41-
单元测试框架库
41+
苹果官方 Swift 包管理
4242

43-
### <*snapshot testing*>
pointfreeco/swift-snapshot-testing
➟ iOS | macOS
43+
### <*dependency manager*>
Carthage/Carthage
➟ macOS
4444

45-
通过快照记录方式进行自动化测试。非常直观方便的一种方式。
45+
简单,去中心化库依赖管理框架。 入门指南:[https://www.raywenderlich.com/416-carthage-tutorial-getting-started](https://www.raywenderlich.com/416-carthage-tutorial-getting-started)
4646

47-
## <*code generator*>
mac-cain13/R.swift
➟ macOS
47+
### <*Git Hooks*>
orta/Komondor
➟ macOS
4848

49-
常用资源(images,fonts, ,colors 等)通过更易用的强类型方式在 Xcode 编辑器输入并自动转换。
49+
在 Swift 项目中支持 Git hooks。
配置实例:https://github.com/orta/Komondor/blob/master/Documentation/with_swiftpm.md
5050

51-
## <*code formatter*>
inamiy/SwiftRewriter
➟ CLI environment
51+
### <*third-party dependencies*>
mxcl/swift-sh
➟ macOS | Linux
5252

53-
基于 SwiftSyntax 针对代码进行自动格式化(其中包括基于代码规范进行简单的代码优化)。
53+
最简单、实用的依赖库导入脚本。这太方便了
5454

55-
## <*Code Diagnostics*>
realm/SwiftLint
➟ macOS
55+
## <*App Store Connect API*>
AvdLee/appstoreconnect-swift-sdk
➟ macOS
5656

57-
Realm 采用 Swift 编写的基于 GitHub's Swift Style Guide 规则的检查及转换工具。除了命令行运行方式,也提供集成 Xcode 的方法。对于新团队,这样的工具可以自动约束大家遵循编程规范。
57+
“借助 App Store Connect API 实现工作流程自动化”,这个库是对整套工作流程 Swift 版的易用化封装。
58+
REST API:https://[developer.apple.com/documentation/appstoreconnectapi](http://developer.apple.com/documentation/appstoreconnectapi)
59+
APP STORE CONNECT 使用入门(官方中、英、日文版)[https://help.apple.com/app-store-connect/](https://help.apple.com/app-store-connect/)
5860

5961
## <*design & prototype*>
IBAnimatable/IBAnimatable
➟ iOS | macOS
6062

6163
IBAnimatable 是一个帮助我们在 Interface Builder 和 Swift Playground 里面设计 UI, 交互, 导航模式, 换场和动画的开源库。
[https://github.com/IBAnimatable/IBAnimatable/blob/master/Documentation/README.zh.md](https://github.com/IBAnimatable/IBAnimatable/blob/master/Documentation/README.zh.md)
6264

63-
## <*App Store Connect API*>
AvdLee/appstoreconnect-swift-sdk
➟ macOS
65+
## <*Code Diagnostics*>
realm/SwiftLint
➟ macOS
6466

65-
“借助 App Store Connect API 实现工作流程自动化”,这个库是对整套工作流程 Swift 版的易用化封装。
66-
REST API:https://[developer.apple.com/documentation/appstoreconnectapi](http://developer.apple.com/documentation/appstoreconnectapi)
67-
APP STORE CONNECT 使用入门(官方中、英、日文版)[https://help.apple.com/app-store-connect/](https://help.apple.com/app-store-connect/)
67+
Realm 采用 Swift 编写的基于 GitHub's Swift Style Guide 规则的检查及转换工具。除了命令行运行方式,也提供集成 Xcode 的方法。对于新团队,这样的工具可以自动约束大家遵循编程规范。
6868

69-
## Package Manager
69+
## <*code formatter*>
inamiy/SwiftRewriter
➟ CLI environment
7070

71-
### <*Package Manager*>
apple/swift-package-manager
➟ macOS
71+
基于 SwiftSyntax 针对代码进行自动格式化(其中包括基于代码规范进行简单的代码优化)。
7272

73-
苹果官方 Swift 包管理
73+
## <*code generator*>
mac-cain13/R.swift
➟ macOS
7474

75-
### <*dependency manager*>
Carthage/Carthage
➟ macOS
75+
常用资源(images,fonts, ,colors 等)通过更易用的强类型方式在 Xcode 编辑器输入并自动转换。
7676

77-
简单,去中心化库依赖管理框架。 入门指南:[https://www.raywenderlich.com/416-carthage-tutorial-getting-started](https://www.raywenderlich.com/416-carthage-tutorial-getting-started)
77+
## XCTest
7878

79-
### <*Git Hooks*>
orta/Komondor
➟ macOS
79+
### <*testing framework*>
Quick/Quick & Quick/Nimble
➟ iOS | macOS
8080

81-
在 Swift 项目中支持 Git hooks。
配置实例:https://github.com/orta/Komondor/blob/master/Documentation/with_swiftpm.md
81+
单元测试框架库
82+
83+
### <*snapshot testing*>
pointfreeco/swift-snapshot-testing
➟ iOS | macOS
84+
85+
通过快照记录方式进行自动化测试。非常直观方便的一种方式。
86+
87+
## <*network debugging tool*>
yagiz/Bagel
➟ iOS | macOS
88+
89+
iOS 网络通讯本地调试神器(用 Bounjour 协议,不需要繁琐的连接证书之类的)。
8290

8391

8492
# Programming Framework
➟ iOS | macOS | watchOS | Linux
@@ -101,9 +109,92 @@ RxSwift vs PromiseKit https://blog.dianqk.org/2016/08/22/rxswift-vs-promisekit/
101109
## ……
102110

103111

112+
# Server
➟ macOS | Linux
113+
114+
115+
## <*web framework*>
vapor/vapor
116+
117+
最活跃的 Web 服务器框架。
118+
推荐理由:纯 Swift 开发,引导开发者采用简洁、干净的 Swift 语法。
119+
主要缺点:牺牲部分性能换取未使用 C 语言基础库为代价
120+
121+
Vapor, Perfect, Kitura 比较:[https://www.jianshu.com/p/a9ca47e844d7](https://www.jianshu.com/p/a9ca47e844d7)
122+
123+
## <*web framework*>
PerfectlySoft/Perfect
124+
125+
功能更强大,性能更好的 Web 服务器框架。有完整的中文开发文档支持。
126+
[https://github.com/PerfectlySoft/Perfect/blob/master/README.zh_CN.md](https://github.com/PerfectlySoft/Perfect/blob/master/README.zh_CN.md)
127+
128+
## <*web framework and HTTP server*>
IBM-Swift/Kitura
129+
130+
与 IBM Bluemix 最佳云集成,功能强大的 Web 服务器框架。CGI 支持。
131+
132+
## <*Swift on ARM + Docker*>
helje5/dockSwiftOnARM
➟ Shell
133+
134+
将 Swift 编译运行于 ARM 平台 Docker 上。
135+
136+
## ……
137+
138+
104139
# Application
➟ iOS | macOS | watchOS
105140

106141

142+
## Foundation
143+
144+
### <*@dynamicMemberLookup feature*>
saoudrizwan/DynamicJSON
➟ iOS | macOS | watchOS
145+
146+
采用 Swift 4.2 新特性 (@dynamicMemberLookup) 实现轻便访问 JSON 数据。
147+
148+
### <*UserDefaults wrapper*>
radex/SwiftyUserDefaults
➟ iOS | macOS
149+
150+
轻量级数据存储类 NSUserDefaults 扩展类,它使类型数据访问和存储更为便捷、直观。
151+
152+
## System
153+
154+
### Security
155+
156+
- <*data store in Keychain*>
square/Valet
➟ iOS | macOS | watchOS
157+
158+
在钥匙串中安全、方便的去存储你的数据。
159+
160+
- <*Keychain Services wrapper*>
kishikawakatsumi/KeychainAccess
➟ iOS | macOS | watchOS
161+
162+
钥匙串存储管理封装
163+
164+
- <*AES wrapper*>
RNCryptor/RNCryptor
➟ iOS | macOS
165+
166+
针对数据的 AES 加密封装。提供多语言封装解决方案。
167+
168+
### Networking
169+
170+
- <*HTTP networking*>
Alamofire/Alamofire
➟ iOS | watchOS | macOS
171+
172+
著名的 AFNetworking 络基础库 Swift 语言版。
173+
174+
- <*network abstraction layer*>
Moya/Moya
➟ iOS | watchOS | macOS
175+
176+
为你提供一套干净的网络抽象层,以以区隔底层网络库。
177+
178+
- <*Apple Reachability replacement*>
ashleymills/Reachability.swift
➟ iOS | macOS
179+
180+
检测网络连通性实用工具库。
181+
182+
- <*wrapper for Apple’s Reachability*>
rwbutler/Connectivity
➟ iOS
183+
184+
基于 Reachability 的封装类库,检查 当前 Wi-Fi 互联网连接性及即时状态。
185+
186+
- <*WebSocket client*>
daltoniam/Starscream
➟ iOS | macOS
187+
188+
WebSocket 标准(RFC 6455)客户端库 Swift 实现。
189+
190+
### <*RxSwift + Bluetooth*>
Polidea/RxBluetoothKit
➟ iOS | macOS
191+
192+
基于 RxSwift 框架的蓝牙库。
193+
194+
### <*LocalAuthentication*>
rushisangani/BiometricAuthentication
➟ iOS | macOS
195+
196+
针对 Face ID 和 Touch ID 更简洁地封装使用。
197+
107198
## App Services
108199

109200
### Cache
@@ -112,10 +203,6 @@ RxSwift vs PromiseKit https://blog.dianqk.org/2016/08/22/rxswift-vs-promisekit/
112203

113204
多类型数据混合缓存库。
114205

115-
- <*UserDefaults wrapper*>
radex/SwiftyUserDefaults
➟ iOS | macOS
116-
117-
轻量级数据存储类 NSUserDefaults 扩展类,它使类型数据访问和存储更为便捷、直观。
118-
119206
### Social API
120207

121208
- <*facebook SDK*>
facebook/facebook-sdk-swift
➟ iOS
@@ -192,51 +279,11 @@ RxSwift vs PromiseKit https://blog.dianqk.org/2016/08/22/rxswift-vs-promisekit/
192279

193280
用 CoreML 扫描、过滤不雅图片。
194281

195-
## System
196-
197-
### Security
198-
199-
- <*data store in Keychain*>
square/Valet
➟ iOS | macOS | watchOS
200-
201-
在钥匙串中安全、方便的去存储你的数据。
202-
203-
- <*Keychain Services wrapper*>
kishikawakatsumi/KeychainAccess
➟ iOS | macOS | watchOS
204-
205-
钥匙串存储管理封装
206-
207-
- <*AES wrapper*>
RNCryptor/RNCryptor
➟ iOS | macOS
208-
209-
针对数据的 AES 加密封装。提供多语言封装解决方案。
210-
211-
### Networking
212-
213-
- <*HTTP networking*>
Alamofire/Alamofire
➟ iOS | watchOS | macOS
214-
215-
著名的 AFNetworking 络基础库 Swift 语言版。
216-
217-
- <*network abstraction layer*>
Moya/Moya
➟ iOS | watchOS | macOS
218-
219-
为你提供一套干净的网络抽象层,以以区隔底层网络库。
220-
221-
- <*Apple Reachability replacement*>
ashleymills/Reachability.swift
➟ iOS | macOS
222-
223-
检测网络连通性实用工具库。
224-
225-
- <*wrapper for Apple’s Reachability*>
rwbutler/Connectivity
➟ iOS
226-
227-
基于 Reachability 的封装类库,检查 当前 Wi-Fi 互联网连接性及即时状态。
228-
229-
- <*WebSocket client*>
daltoniam/Starscream
➟ iOS | macOS
230-
231-
WebSocket 标准(RFC 6455)客户端库 Swift 实现。
232-
233-
### <*RxSwift + Bluetooth*>
Polidea/RxBluetoothKit
➟ iOS | macOS
282+
### Web Services
234283

235-
基于 RxSwift 框架的蓝牙库。
284+
- <*iOS SDK for AWS AppSync*>
awslabs/aws-mobile-appsync-sdk-ios
➟ iOS
236285

237-
### <*LocalAuthentication*>
rushisangani/BiometricAuthentication
➟ iOS | macOS
238-
239-
针对 Face ID 和 Touch ID 更简洁地封装使用。
286+
来自 Amazon Web Services 实验室的 AWS AppSync iOS SDK。
240287

241288
## Graphics and Games
242289

@@ -340,6 +387,14 @@ RxSwift vs PromiseKit https://blog.dianqk.org/2016/08/22/rxswift-vs-promisekit/
340387

341388
可滚动的(显示或隐藏 UINavigationBar
342389

390+
- <*Mac style Menu*>
TwoLivesLeft/Menu
➟ iOS
391+
392+
著名 iPad 编程应用 Codea(Lua 语言) 开源传统菜单如何存在于小屏幕设计思路及解决方案。
393+
394+
- <*floating panel* >
IdeasOnCanvas/Aiolos
➟ iOS
395+
396+
MindNode  iOS 项目中使用的浮动面板。
397+
343398
### View Layout
344399

345400
- <*Autolayout*> 
SnapKit/SnapKit
➟ iOS | macOS
@@ -373,36 +428,13 @@ RxSwift vs PromiseKit https://blog.dianqk.org/2016/08/22/rxswift-vs-promisekit/
373428

374429
简单的代码实现复杂 UI 布局及动画切换。
375430

376-
### <*UIKit extensions*>
haoking/SwiftyUI
➟ iOS
431+
- <*liquid swipe animation* >
Cuberto/liquid-swipe
➟ iOS
377432

378-
轻量、高性能的 UI 渲染及扩展类库。
379-
380-
381-
# Server
➟ macOS | Linux
433+
液滑动画效果升级版。
382434

435+
### <*UIKit extensions*>
haoking/SwiftyUI
➟ iOS
383436

384-
## <*web framework*>
vapor/vapor
385-
386-
最活跃的 Web 服务器框架。
387-
推荐理由:纯 Swift 开发,引导开发者采用简洁、干净的 Swift 语法。
388-
主要缺点:牺牲部分性能换取未使用 C 语言基础库为代价
389-
390-
Vapor, Perfect, Kitura 比较:[https://www.jianshu.com/p/a9ca47e844d7](https://www.jianshu.com/p/a9ca47e844d7)
391-
392-
## <*web framework*>
PerfectlySoft/Perfect
393-
394-
功能更强大,性能更好的 Web 服务器框架。有完整的中文开发文档支持。
395-
[https://github.com/PerfectlySoft/Perfect/blob/master/README.zh_CN.md](https://github.com/PerfectlySoft/Perfect/blob/master/README.zh_CN.md)
396-
397-
## <*web framework and HTTP server*>
IBM-Swift/Kitura
398-
399-
与 IBM Bluemix 最佳云集成,功能强大的 Web 服务器框架。CGI 支持。
400-
401-
## <*Swift on ARM + Docker*>
helje5/dockSwiftOnARM
➟ Shell
402-
403-
将 Swift 编译运行于 ARM 平台 Docker 上。
404-
405-
## ……
437+
轻量、高性能的 UI 渲染及扩展类库。
406438

407439

408440
# IoT
➟ Ubuntu | Raspain
@@ -445,6 +477,10 @@ GitHub 上最为开发者认可的 JSON 解析库。
445477

446478
极易用的文件路径操作类库
447479

480+
### <*pure swift PNG decoder and encoder* >
kelvin13/png
➟ macOS | Linux
481+
482+
纯 Swift 代码解析 PNG 格式,返回图像原始像素数据和尺寸。
483+
448484
## Security
449485

450486
### <*cryptographic algorithms*>
krzyzanowskim/CryptoSwift
@@ -463,6 +499,10 @@ Crypto 算法及相关功能类库集合
463499

464500
事件驱动网络应用框架。
465501

502+
### <*HTTP/2 support for SwiftNIO*>
apple/swift-nio-http2
503+
504+
苹果发布 SwiftNIO 针对 HTTP/2 的开源支持库。
505+
466506
### <*SwiftNIO-based server-side*>
amzn/smoke-framework
467507

468508
事件驱动网络应用框架。
@@ -492,10 +532,10 @@ Realm 平台目标实现可交互的移动数据库
492532
## ……
493533

494534

495-
# iCloud & Remote
(iCloud, On-drive, Dropbox, Webdav, ftp/ftps, Samba...)
535+
# IBM Watson Services
(AI)
496536

497537

498-
# IBM Watson Services
(AI)
538+
# iCloud & Remote
(iCloud, On-drive, Dropbox, Webdav, ftp/ftps, Samba...)
499539

500540

501541
# TensorFlow
(pre-trained model)

2019/OpenSourceforSwift-ApplicationArchitecture.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
[myMindNode浏览及导图原文档下载……](https://my.mindnode.com/epd4C5grMxtWnojnVGXy9LCay1n8zosXRpzawppy)
88

9+
910
## 附:MindNode 格式导图导出的文本内容([浏览 PDF 版本](OpenSourceforSwift-ApplicationArchitecture.pdf)
1011
---
1112
# Learning & Advanced
Binary file not shown.
Loading

0 commit comments

Comments
 (0)