この投稿は何ヶ月も下書きの中に放置され、埃をかぶっています。ついに、これを日の目を見て、私の最初のフルスタックハッカソンの経験を皆さんと共有する準備ができました。
私は独学の開発者であり、このハッカソンが初めてフルスタック アプリを構築したことを明らかにします。
このハッカソンのタスクは、住宅会社向けのモバイル アプリケーションを構築し、住宅レポートの送信、住宅申請、賃貸明細の表示、ヘルプの問い合わせ、FAQ の表示などの基本機能を実装することでした。
私は Android 開発者で、他のチームメイトは Xamarin for IOS と真剣に戦い、プロジェクトの Web サイト ポートフォリオを構築しました。
ところで、なぜすべてのプラットフォームで Xamarin を使用しなかったのかは聞かないでください。私たちはキッシュを食べる人たちです。
同時に、競争ルールは、Apple のバイナリは Big Brothers のレビューなしに配布できないという事実を考慮していませんでした。
そこで、Android アプリを構築し、Xamarin を通じて IOS プラットフォームのバイナリにコンパイルすることを計画しました。
( ...チームメイトの 1 人がこれを提案しました - コンパイルの魔法がどのようなものなのかわかりませんが、以前に言語を構築したことがあり、言語バンドルを別のバンドルに変更するのが簡単ではないことはわかっています )
Android の場合は、DroidScript Framework で実行される Javascript を使用しました。さらに、他のチームメイトは別のハッカソンで戦い、機能の実装については私のリクエストに応じてくれました。
私が DroidScript を選択したのは、Android 上の UI の複雑さを軽減する独自の方法と、小さなバイナリを生成しながらネイティブ API にアクセスできるためです。
さらに、これを使用した UI 開発の経験に基づいてこれを選択しました。最近、マテリアル デザイン 3 ライブラリをプラグインとして DroidScript に移植したので、UI は問題になりません。
Node は重すぎるため、クライアント アプリケーションには Node.js を追加しないことにしましたが、管理アプリには随所に ESM フレーバーを備えた Node を使用しました。
私たちはプロジェクトを 4 日で完了し、提出したその日に管理アプリの下書きを開始しましたが、なんとか完成させることができませんでした。
それで、結果はどうなったのでしょうか?まあ、優勝はおろか最終ラウンドにも進めませんでした。実際、フィードバックや最新情報は一切受け取れず、イライラしていました。私は損失に失望しているのではなく、透明性の欠如に失望しています。
すべてにもかかわらず、このハッカソンからはいくつかの貴重な教訓が得られました。
ハッカソンでもテストを作成する
最初は時間の都合でテストを省略しましたが、再び問題が発生しました。テストを実施しておけば、開発中に 5,000 回を超える Firebase 呼び出しを行う必要がなくなります。教訓。
Android の XML DOM を過小評価しないでください
特に複数の要素を動的に追加する場合、UI のパフォーマンスに苦労しました。 Android の XML DOM が DroidScript によって処理される方法は、予想よりも遅いことが判明しました。 (コア DroidScript 開発者によって作成された) DroidScript の Web ベースのバージョンである Enjine.IO を使用するべきでしたが、より高速であり、クロスプラットフォームであるという利点があります。
Node.js の除外についてはよく考えてください
クライアント アプリの Node.js を除外するとスペースが節約できると考えましたが、機能が犠牲になります。 Firebase は、Node モジュールとして使用する場合と比較して、スクリプトとして統合すると大幅に遅くなりました。次回は、トレードオフについて再考したいと思います。
読んでいただきありがとうございます!このブログ投稿を書き終えるまでに何か月もかかったかもしれませんが、私が学んだ教訓はもっと長く続くでしょう。
このプロジェクトは、ハッカソン プロジェクトで確認できます。
あなたの意見をお聞かせください!
以上が初めてのフルスタック ハッカソン: モバイル アプリの構築から得た教訓の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。