4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Timee ProductAdvent Calendar 2023

Day 14

クライアントアプリを作る際のPackage共有管理

Last updated at Posted at 2023-12-13

概要

複数のアプリケーションを開発する際、
それぞれ完全に別で実装する方針があると思いますが、
共通のPackageを作成してそれをお互いに参照する方針もあります。

タイミーではワーカー用のアプリはありますが、現在クライアント用のアプリは存在しません。
もし作成することになれば、ワーカーアプリと同様な体験を提供するために、
共通のPackageを参照することを手段の一つとして考えることができます。

ワーカーアプリとクライアントアプリで開発チームが同じで、
同じWorkspace上での開発あれば、特にバージョン管理の必要はないかもしれません。
ですが、クライアントアプリの変更がリアルタイムでワーカーアプリに影響し、
また規模が大きくなり開発を分ける可能性があることを考えると、
Packageのバージョン管理が必要になるかもしれません。

以下にPackageを編集し、バージョン管理を行う方法をまとめました。

公式のPackageの更新方法

公式の手順とは異なる方法

公式のドキュメントとは異なる方法ですが、
こういったやり方もあるよということをご紹介します。

最初の状態

ここから、Utility Packageを編集し、バージョンを更新します。

手順

  • 対象のPackageをgit clone

  • 以下のようにして、remoteのレポジトリの参照を削除

  • Add Localをしてlocalのpackageを追加

  • localとなっていることを確認し、更新

  • 変更をcommit及びpushして、新たなtagを設定

  • 以下のようにして、localのレポジトリの参照を削除

  • remoteのPackageをAdd Package

  • バージョンが更新されていることを確認

注意点

共有するPackageの更新頻度が高すぎると、お互いの変更を取り込むのが大変で、バージョンが分かれて結局別で作ったほうがいいよねという話になります。はじめの方はUIなど更新頻度の高いロジックは避けて、やるとしたら更新頻度の少ないデータロジックなどの共有が良いかもしれません。

今後

現状はこういったパッケージを共有する管理の想定がおそらく無いため、ユーザーアプリから切り離してすぐに共有できるわけではなく、もし仮にクライアントアプリを作るとしたらタイミングによっては完全に別で作る可能性もありますが、機会があれば推進力をもってユーザーアプリの抽象化、共通化を進めたいと考えています。

4
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?