0
1

More than 1 year has passed since last update.

SwiftUIスタディーアプリFabulaに関するお話

Posted at

Fabulaとは

Fabulaアプリは、SwiftUIを学習して作成した小さな単位プロジェクトを集めて共有するサービスです。 学習を通じて作られた結果物をgithubにオープンソースとして共有しています。

また、FabulaItemsProviderというプロジェクトを通じて、複数の開発者が参加して、自分のコードをFabulaサービスを通じて配布することができます。 SwiftUIを学ぶ多くの開発者に情報を提供し、多数の開発者が参加することで、自分の開発スキルも向上させるための良い方法です。

FabulaItemsProviderはオープンソースです。 自分が開発したコードをPR(Pull Request)を通じて提供し、オペレータは最小限のエラーのみを除去してApp Storeに配布します。

Fabulaプロジェクトのワークフローは次のとおりです。

fabulaWorkflow.png

簡単に説明すると、FabulaItemsProvider プロジェクトを fork し、item になるコードを作成およびテストした後、PR (Pull Request) 要求します。 これでFabulaアプリに自分のアイテムが配布されるプロセスは終わりです。 その後、オペレータはPRされたプロジェクトでエラーを確認し、展開のためにmergeを実行します。

その後、App StoreでFabulaアプリが更新されたら、自分のコードが配布されていることを確認できます。 単純なコードも良いです。 あなたが開発した簡単なコードは、多くのジュニア開発者に役立ちます。

Fabulaプロジェクトを通じてオープンソースで配布されたライブラリは以下のようなものがあります。

  • UnsplashのAPIを活用したSwiftUI用のライブラリです。
    Sortの基準に基づいてページングと写真検索機能を提供します。
    https://github.com/jasudev/UnsplashProvider

  • iOS / macOSでサポートされているライブラリが見つからなかったので作成しました。
    特定のビューを Zoomable コンテナで包んだ形で実装します。 SDWebimageSwiftUIを利用したurlのイメージを zoom in/out する機能も提供します。
    https://github.com/jasudev/Zoomable

  • スクロールに応じて各ビュー内でタイムライン形式の値を自動的に処理するライブラリです。 スクロール位置に応じて、各ビューの値が0.0から1.0の間の値を渡すことによってアニメーションを処理できます。
    https://github.com/jasudev/Scroller

  • Textにアニメーションを処理できるライブラリです。 Generic Effectオブジェクトを渡すことで、さまざまなアニメーションを処理できます。 もちろんカスタムアニメーション効果も簡単に作れます。
    https://github.com/jasudev/AnimateText

  • OS/macOS で使用できる Lottie ライブラリです。
    https://github.com/jasudev/LottieUI

  • Bottom Sheetは下部のみをサポートしますが、このライブラリは左、右、上、下をすべてサポートするUIライブラリです。 iOS/macOSの両方をサポートします。
    https://github.com/jasudev/AxisSheet

  • スターポイントを処理できるライブラリです。 水平/垂直方向をサポートし、Viewプロトコルに準拠したすべてのビューをデザインに適用できます。
    https://github.com/jasudev/AxisRatingBar

Fabulaプロジェクトは、iOS / macOSを一緒にサポートできるSwiftUIコードを目指しています。

一緒に参加してみませんか?

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1