開発日記7日目:フロントエンド技術選定完了!React Nativeに決定!🔥
群馬県民がもっと地元イベントを楽しめるように!イベント発見アプリを個人開発している🐮です!
開発7日目の今日は、フロントエンド開発に必要な技術の選定を行い、数ある候補の中からついにReact Nativeを選びました!✨
🌟 今日のハイライト
- ✅ フロントエンドフレームワークをReact Nativeに決定!
- ✅ 各技術のメリット・デメリットを比較検討
- ✅ 今後の開発環境構築に向けて準備開始
🛠 今日の作業内容
1. フロントエンド技術の候補を比較検討
まず、以下の3つの技術候補について、それぞれのメリット・デメリットを洗い出しました。
🔹 React Native (TypeScript)
-
メリット
- JavaScriptベースで、既に慣れ親しんだ技術
- クロスプラットフォーム対応でiOSとAndroidを同時に開発可能
- 豊富なライブラリと活発なコミュニティサポート
-
デメリット
- ネイティブに比べてパフォーマンスが劣る場合がある
- 複雑なUIやアニメーションの実装に制約があることも
🔸 Flutter (Dart)
-
メリット
- 高性能なUI描画で美しいデザインが実現
- クロスプラットフォームで一貫性のあるUIを提供
- Hot Reload機能で開発スピードが速い
-
デメリット
- Dart言語の学習が必要で、学習コストがかかる
- 一部のプラグインやパッケージが未成熟
🔺 SwiftUI / Kotlin (ネイティブ開発)
-
メリット
- ネイティブならではの高パフォーマンスと安定性
- プラットフォーム固有の最新機能が利用可能
-
デメリット
- iOSとAndroidで別々に開発する必要があり、開発コストと時間が増大
- 開発効率が低下する可能性
2. React Nativeを選定!
悩みに悩みましたが、最終的にReact Nativeを選ぶことにしました!🎉
選定理由
- 開発効率の向上:一つのコードベースでiOSとAndroidの両方を開発できるのは大きな魅力。
- 学習コストの低さ:JavaScriptとTypeScriptに精通しているため、スムーズに開発に入れる。
- コミュニティの活発さ:豊富な情報があり、問題解決がしやすい。
Flutterの美しいUIやSwiftUIのネイティブ性能も魅力的でしたが、今回は開発スピードと慣れた技術を活かすことを優先しました。
3. 比較検討を通じての学び
技術選定を通して、それぞれの技術の特性や自分のプロジェクトに適した選択を深く考える機会になりました。
- ユーザー体験を最優先する場合はネイティブ開発が有利
- スピードとコスト効率を重視するならクロスプラットフォーム開発
- 新しい技術への挑戦も大切だが、プロジェクトの目的や自分のスキルセットに合った選択が重要
📊 プロジェクト進捗状況
フェーズ | 進捗率 | 主要成果物 |
---|---|---|
要件定義 | 100% | ユーザーストーリーマップ |
UI/UX設計 | 90% | デザインシステムガイドライン |
技術選定 | 100% | フロントエンド技術選定レポート |
開発環境構築 | 10% | 開発ツールリスト |
💡 今日の気づきと学び
良かった点
- 最適な技術選定ができたことで、今後の開発の方向性が明確になりました。
- 技術比較を通して、最新のフロントエンド技術について知識を深めることができました。
改善したい点
- Flutterに関してはまだ理解が浅いので、今後時間を見つけて学習してみたいです。
- ネイティブ開発のメリットも魅力的なので、将来的な機能拡張時に検討したいと思います。
🚀 次回予告:バックエンド技術の選定と開発環境の構築!
次回は、バックエンドの開発に必要な技術選定と、開発環境の本格的な構築に取り組みます!
候補技術
- Node.js (Express):JavaScriptでフロントエンドと統一感のある開発が可能
- Django (Python):高い信頼性と豊富なパッケージ
- Firebase (BaaS):サーバーレスで迅速な開発が可能
皆さんのおすすめや経験談があれば、ぜひコメントで教えてください!🙌
✨ 今日のひとこと
群馬の皆さんに喜んでもらえるアプリを目指して、明日も頑張ります!
応援のいいねやコメントが、日々のモチベーションになっています!😊
最後までお読みいただきありがとうございます!
引き続き応援よろしくお願いします!では、また明日〜!👋