こんにちは!
Amazon Web Service のオンラインサミットでも取り上げられている「 Aws Amplify 」は、Aws インフラの構築、CRUD の API の自動生成、フロントエンドへの SDK 提供など、開発初期を圧倒的に効率化させてくれます。
スタートアップをする際にはかなり有用なツールです。
ただ、ここ最近触り倒した結果、良いところ・悪いところの両方が見えるようになってきたので、これから Amplify を採用検討している方へ本記事をシェアします。
一言で言えば、制約事項が多いです。
もし制約事項を超えるような要件が発生した場合には、正直作り直しを覚悟しないといけません。Ruby や Laravel の開発では、多少フレームワークでサポートしていない内容でも力技で解決できますが、Amplify の場合はその力技が非常に辛い場面に遭遇するでしょう。( でも逆に使い所によっては非常に強力なフレームワークだと言えます )
開発時に高確率でハマるポイントを簡単に列挙します。
特に最も警戒しないといけないのは、ソートの実装です。公式の Issueを見るとちらほら見かけますが、例えば総件数の取得、Enum ソート指定時、ページネーションを途中の番号から開始するなどの際に思うように開発できないケースが多数です。
Amplify を用いた検索開発の際は、必ず事前に必ず下記を確認し、少しローカルで触るなど検証してからプロジェクトへ導入しましょう。
正直なところ、出始めのフレームワークなのでまだまだ不完全さは否めないです。
もう一点、最後に Amplify 開発前に抑えておかないといけないポイントとして、Amplify は SSR が行えません。つまり、SEO が命のアプリケーションでの利用は確実に控えることを推奨します。スマフォアプリや会員限定コンテンツを扱う WebSPA、業務アプリでは利用を検討して良いかもしれません。
逆に、下記のようなプロジェクトではかなり力を発揮すると思います。
ポイントなのは、Amplify で構築した際は将来的にリプレースの選択が可能であるということ。
プロダクトが成長してきて機能要件が複雑になってきたタイミングで一度リファクタリングの名目でリプレースを検討する必要があります。
こういった場合は、世界最強のフレームワークだと思います。開発速度で言えばあの Ruby on Rails を上回ります。( インフラ構築も自動化できるので )
開発が盛んなフレームワークなので今後に期待したいですね。
SSR ができるようになれば、より多くのスタートアップが利用できると思います。
現状は、toB ならまだしも toC のプロダクトを開発しているプロダクトオーナーは採用しにくい印象です。
弊社の場合は、インハウスのプロダクトでSHIMBAを運営していますが、このような場合は Amplify は適していませんね。本音を言うと SSR できれば是非採用したかったです。
Amplfiy での開発に悩んでいる方は是非一度弊社へお問い合わせください!
スモールスタート開発支援、サーバーレス・NoSQLのことなら
ラーゲイトまでご相談ください
低コスト、サーバーレスの
モダナイズ開発をご検討なら
下請け対応可能
Sler企業様からの依頼も歓迎