本文へ
ハクソク

世界を動かす技術を、日本語で。

iOS版「StreetComplete」がパブリックベータ版として公開されました

元記事: 原文(github.com)

概要

  • StreetCompleteのiOS移植 を調整するマスター課題の概要
  • Kotlin Multiplatform と Compose Multiplatform を活用した技術的アプローチ
  • 開発状況 や 今後のタスク はProject Boardで管理
  • 貢献方法 や 協力の呼びかけ も明記
  • 進捗は約50%、コミュニティの協力が不可欠

StreetComplete iOS移植・マスター課題

  • このチケットは StreetCompleteのiOS移植 を調整する マスター課題
  • #1892を置き換え、 議論・調査内容 も含む
  • Project Board にて タスク一覧 を管理
  • 貢献歓迎、詳細は SotM Europe 2024のスライド 参照(スピーカーノート付き)

技術的アプローチ

  • コードベースは 100% Kotlin、Swiftに類似したモダン言語
  • Kotlin Multiplatform でiOS対応可能、 Compose Multiplatform でUI共有
  • Jetpack Compose のAPIをベースにした Compose Multiplatform (iOSはアルファベータ)
  • UIは 段階的にComposeへ移行、プラットフォーム依存コードを最小化
  • Flutter と比較し、Kotlinコードベースをほぼそのまま活用可能

移植手順(要点)

  • プラットフォーム固有コード と アプリケーションロジック の分離
  • Android/Java依存部分 を Kotlin Multiplatform依存 へ置換
  • UIコード を Compose Multiplatform へ段階的に移行
    • データアクセス・UI状態管理をUIコードから分離(ViewModel活用)
    • Android XMLレイアウトからJetpack Composeへの移行(ボトムアップ推奨)
    • Jetpack ComposeからCompose Multiplatformへの移行(比較的小規模な作業)

現在の進捗

  • 進捗や必要なステップは Kanban形式のProject Board で随時更新
  • タスクは 依存関係 により未作成の場合あり
  • 貢献者募集、タスク実施希望者は該当チケットにコメント
  • iOS完全移植には約1人年の作業量 を推定、コミュニティ貢献が鍵
  • 2024年前半で 移行作業は約50%完了

貢献方法・協力の呼びかけ

  • Project Board のタスク引き受け
  • Jetpack Compose / Compose Multiplatform 等の技術習得
  • 開発スポンサー として資金支援
    • メインページの「Sponsor this project」からサポート可能
    • 大規模資金提供先の情報提供も歓迎
  • メンテナンスやissue triage による開発サポート
  • 時間の節約がさらなる開発推進に直結

まとめ

  • StreetComplete iOS移植 は技術的にも組織的にも大規模プロジェクト
  • Kotlin Multiplatform と Compose Multiplatform を活用した効率的なアプローチ
  • コミュニティによる協力・貢献 が進捗の鍵
  • 最新の進捗やタスク状況 はProject Boardで確認可能

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

READMEからの引用: 「StreetCompleteは、Android向けのOpenStreetMapデータを簡単に編集できるアプリです。OpenStreetMapに特有の知識がなくても使えます。簡単な質問をして、その答えを使ってOpenStreetMapデータを編集・改善します。このアプリは、OSMのタグ付けについて何も知らないユーザーでも、OpenStreetMapに貢献したいと思っている人向けです。StreetCompleteは、調査が必要な近くの場所を自動的に探して、マップ上にクエスマーカーとして表示します。これらのクエストは、現地で簡単な質問に答えることで解決できます。例えば、マーカーをタップすると「この道路の名前は何ですか?」という質問が表示され、回答用のテキストフィールドが出てきます。下のスクリーンショットにもいくつかの例があります。ユーザーの回答は自動的に処理され、OSMデータベースに直接アップロードされます。編集は、ユーザーのOSMアカウントを使って意味のある変更セットで行われます。このアプリは調査のために使うことを想定しているので、オフラインでも使用でき、データ使用量も経済的です。」

└

これは素晴らしい!もっと多くの知識ベースが、参入障壁を理解してくれるといいな。例えば、Wikipediaも初めて編集する時はちょっと怖いよね、引用を正しく提示したい場合なんか特に。

StreetCompleteは、HNでOpenStreetMapが言及されるたびに頻繁に取り上げられていますが、その理由は明白です(これはOSMでのマッピングの素晴らしい入門です)。チームの皆さん、ベータ版おめでとうございます!

└

確かに、前回ここで言及されて以来、その問題を追っていて、彼らがどれだけ早く進展したか、最初のバージョンを出荷したことに驚いたよ。

すごくいいアプリだよ。Androidで何年も使ってる。敷居がすごく低いし(OSMアカウント作成を除けば)、地図編集の経験がない人でもOpenStreetMapの改善がめちゃくちゃ簡単にできる。道路の表面やアクセス性についての簡単な質問があって、イラスト付きの選択肢があるんだ。

StreetCompleteは最高だね。私にとってはOpenStreetMapがずっと身近になったし、私のおかげで公共トイレがいくつか増えて、小さな道路も一つ追加されたよ。特にその道路については、Googleマップがその道をどれだけ早く取り入れたかを見るのが面白かった。でも、アプリにはまだ古い道路も残ってるから、リンクはされてるけど100%ではないね。

実際のTestFlightベータ招待へのリンク、リンク先のページでは簡単に見つからなかったので: https://testflight.apple.com/join/K1u3eUU5

└

ありがとう。もしStreetCompleteの人が見てたら、ページにTestFlightのリンクを目立つところに置いてほしいな!

数週間前のコメントのおかげで、AndroidでStreetCompleteを使い始めたんだ。これは本当に素晴らしいツールで、貢献の敷居がほぼゼロになってる。私にとって唯一の欠点は、過去の貢献の小さな履歴がないこと。ある時、間違えて間違った情報を入力しちゃった(大したことじゃないけど、歩道の表面で、30%が一つの表面、70%が別の表面だったんだけど、30%の値を入れちゃった)。この貢献をすぐに「元に戻す」ことができたら嬉しかったな。でもそれ以外は、本当に素晴らしいツールだよ。

└

OSMのウェブサイトに行くと、自分のプロフィールで日付順にすべての修正履歴を確認できるよ。https://www.openstreetmap.org/user/YOUR_USERNAME

└

StreetCompleteの左下隅で、すぐに元に戻せるよ。小さな戻る矢印をクリックしてみて。

└

画面の左下に元に戻すボタンがあるよ。試してみて!(確か、過去24時間に行った編集しか表示されないけど、この制限はかなり適当な感じで決められてる。使い道があれば、延長できるみたい。)

Hacker Newsで議論の続きを見る

同じ出典の記事