Slide 1

Slide 1 text

2021.10.15 (Fri) Mobile ACT ONLINE #6 @the_uhooi Swift Packages で ライブラリを自作しよう

Slide 2

Slide 2 text

Mobile app developer Swift もっと触りたい

Slide 3

Slide 3 text

uber / mockolo のリリースを担当しました 参考: https://github.com/uber/mockolo/releases/tag/1.6.2

Slide 4

Slide 4 text

「 」とは? Swift Packages

Slide 5

Slide 5 text

「 」とは? Swift Packages ・Swift などのコードを再利用するためのまとまり

Slide 6

Slide 6 text

「 」とは? Swift Packages ・Swift などのコードを再利用するためのまとまり ・Swift Package Manager(SwiftPM)を使って作成する

Slide 7

Slide 7 text

「 」とは? Swift Packages ・Swift などのコードを再利用するためのまとまり ・Swift Package Manager(SwiftPM)を使って作成する ・Mockolo も Swift Packages 化されている  → Package.swift があれば Swift Packages

Slide 8

Slide 8 text

引用: https://developer.apple.com/documentation/swift_packages

Slide 9

Slide 9 text

「ライブラリ」とは?

Slide 10

Slide 10 text

“ライブラリとは、ソースコードの 断片のことである” ウ・ホーイ(1990〜)

Slide 11

Slide 11 text

アプリ アプリ ライブラリ

Slide 12

Slide 12 text

ライブラリを公開するメリット

Slide 13

Slide 13 text

ライブラリを公開するメリット ・大勢の人に使ってもらえる

Slide 14

Slide 14 text

ライブラリを公開するメリット ・大勢の人に使ってもらえる ・誰かが改善してくれるかもしれない

Slide 15

Slide 15 text

ライブラリを公開するメリット ・大勢の人に使ってもらえる ・誰かが改善してくれるかもしれない ・「ライブラリを自作したぜ」とドヤれる

Slide 16

Slide 16 text

ライブラリの作り方

Slide 17

Slide 17 text

$ swift package init \ --name UhooiKit \ --type library

Slide 18

Slide 18 text

$ swift package init \ --name UhooiKit \ --type library $ open Package.swift

Slide 19

Slide 19 text

$ swift package init \ --name UhooiKit \ --type library $ open Package.swift

Slide 20

Slide 20 text

$ swift package init \ --name UhooiKit \ --type library $ open Package.swift (ウィンドウを閉じる)

Slide 21

Slide 21 text

$ swift package init \ --name UhooiKit \ --type library $ open Package.swift (ウィンドウを閉じる)

Slide 22

Slide 22 text

$ mkdir Examples $ cd Examples/

Slide 23

Slide 23 text

$ mkdir Examples $ cd Examples/ (iOS アプリのサンプル  プロジェクトを作成する)

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

ライブラリのソース ライブラリのテスト サンプルプロジェクトの ソース

Slide 36

Slide 36 text

ライブラリ public struct public private set var public init { ( ) = () { } } Uhooi text "┌|▼▼|┘

Slide 37

Slide 37 text

サンプル import import class override func super let UIKit UhooiKit : UIViewController { viewDidLoad() { . () uhooi = () (uhooi. ) } } ViewController viewDidLoad Uhooi print text ライブラリ public struct public private set var public init { ( ) = () { } } Uhooi text "┌|▼▼|┘

Slide 38

Slide 38 text

コンソール ┌|▼▼|┘

Slide 39

Slide 39 text

続きは Qiita の記事で

Slide 40

Slide 40 text

まとめ

Slide 41

Slide 41 text

まとめ ・Swift のライブラリは iOS アプリと同じ感じで作れる

Slide 42

Slide 42 text

まとめ ・Swift のライブラリは iOS アプリと同じ感じで作れる ・まずはシンプルなものから作ってみよう

Slide 43

Slide 43 text

まとめ ・Swift のライブラリは iOS アプリと同じ感じで作れる ・まずはシンプルなものから作ってみよう ・作ったらドヤってください

Slide 44

Slide 44 text

Swift Packages で 最高のライブラリ開発を