こんにちは! ヤプリのアプリ申請チームのあきなです。
自己紹介とチャレンジの背景
普段、私は「アプリ申請チーム」という名前の通り、アプリの申請作業をメインに担当しています。
いつもの業務に関わる記事もアドベントカレンダー1日目に書いているので、ご興味がある方はこちらも見てみてください! tech.yappli.io
業務効率化のために、Google Apps Script(GAS)やJavaScriptを使うことはありますが、それ以外の技術にはあまり触れたことがありません。
今回アプリを作ってみようと思ったきっかけは、GASで書いたコードが動くたびに達成感を感じていたこと、 そして「せっかくアプリ開発をしている会社にいるのだから、自分でアプリを作って動かせたら楽しいだろうな」と思ったからです!
まず2週間くらい勉強をしてみよう!と思い、土日5時間ずつ、平日2時間ずつくらいという緩めのスケジュールで勉強をしてみました。
結論から言うと2週間の勉強期間を経ても、一人で作れるものとしてはタップをしても動作しない1枚の画面まででした。
難しいと感じた点
独学でアプリを作成しようと思ったときに、大きく以下の点で難しいと感じました。
1. 教材探しの壁
最初に感じたのは、適切な教材を見つける難しさです。 比較的新しい本を購入してみたものの、いざAndroid Studioで試してみると、テンプレートの構成が本に記載された内容と大きく異なりました。 基礎的な知識を学ぶことはできましたが、本だけを参照してアプリを作り切ることはできませんでした。
プログラミング学習サービスも利用してみましたが、アプリ制作を扱っているサービス自体が少なく、思うように進められませんでした。 過去にPythonを独学で勉強したときは、もう少しバリエーションがあった記憶だったので、通常のプログラミングよりもハードルが高いように感じます。
学習開始から4日ほど経ったころ、Google社の公式ドキュメントにたどり着きました。 developer.android.com
しかし日本語版の公式ドキュメントは2024年1月が最終更新で、私が勉強を始めた10月にはすでに情報が古く、そのまま同じコードを書いても動かないし、本で学習したときと同様にテンプレートの内容が異なりました。 同じ公式ドキュメントでも、英語版のものであれば最新だったため、英語版のドキュメントを日本語訳しながら進める必要があり、出てくる言葉が専門用語なのか、ただのちょっと難しい英単語なのかもわからない!という大混乱状態で勉強をすることに…
2. 「〇〇したいだけ」ができない
テキストを表示させたいだけ、画像を置きたいだけ、なのに思った画面構成にできず苦労しました。
例えば、左の見本画面のように画像を横幅に合わせたサイズにしたつもりが、右の画像のようになってしまったり…
こうしたいだけ…を実現するために覚えることや、やるべきことがたくさんあって頭を抱えました。 また、これは自分の検索力の問題ですが、わからない点が初歩的すぎるのか、あまり自分が今やりたいことにマッチした検索結果を出すことができず、時間が溶けていくこともありました。 ChatGPTにも大量の質問を投げて、一つずつゆっくり解決していきました。
3. 根気が必要
一行進む事にわからない単語が最低1つは出てくるし、エラーは大量に出るし、翻訳したドキュメントの内容は一瞬で理解できないし… 1歩進んだらすぐ壁にぶつかり、超えたと思ったらすぐまた壁…という気分でした。
それでも1つ1つしっかりと内容を読んで、理解をしようとすると根気が必要だと感じました。
4. 実際の端末で確認するには準備が必要
Androidアプリを実際にAndroid端末で確認するには、端末をデバイス開発者向け設定に変更しなければいけませんでした。 ビルドを行って、APKファイルをダウンロードして試すこともできますが、上記設定の方が細かくデバックができるようですね!
今回はAndroid Studio内のDevice Managerでのみ確認を行っていますが、実機でテストを行うには初期設定が難しい、という印象を受けました。
Yappliのすごさを再確認
ちなみに、ヤプリでほぼ同じ画面を作ろうと思うと、たった10分でこの画面を作成することができました。 しかもこれだけで、iOSとAndroidどちらでも表示できる画面が完成していると思うととんでもなく便利ですよね!
両OS分画面を作成しようと思うと、AndroidはKotlinでiOSはSwiftで…と2言語勉強しなければならないのではないかと思います。 想像しただけで途方もないです。
今回は簡素な画面を作成しましたが、ヤプリではテンプレートがたくさんあるので、簡単にリッチなコンテンツを作成することができます。 なんてすごいサービスなんだ…
ヤプリの凄さは知っているつもりでしたが、実際にコードを書いてみると更にその凄さを更に深く知れたような気がします。
まとめ
アプリが必須な時代なので、アプリ制作を始めたいという人にも優しい世界なのではないか、と想像していましたが想像とはかけ離れていました。 実際にコードを書いてみて、ヤプリのエンジニアの方々には本当に頭が上がらないなと感じます。
もっと学習を進め、将来的には申請チームの業務に直接関係のあるビルドなどの仕組みなどを理解し、エンジニアさんとのコミュニケーションなどに役立てられるようになれたら嬉しいなと思います。 最後までお読みいただきありがとうございました!