SPAをスマホで開いたときに若干重いときの対処法

・悩み
SPAだとかなり速度が上がりますが、スマホで重いページを表示させようとすると時間がかかってしまいます。また、スマホでやると画像やrepeating groupが完全に表示されるまで若干時間がかかることがあります。
マルチページならばローディング時のアニメーションをつけれるのであまり気にならないのですが、おそらくSPAでは最初以外アニメーションをつけるのは難しいですよね…

・聞きたいこと
上の悩みを解決するいい方法があれば是非教えていただきたいです。
漠然とした質問ですみません。画像をtinypngに通す等の高速化の対策しか思い付かず…
よろしくお願いいたしますm(__)m

どこに時間がかかっているか分からないので、外しているかもしれませんが、
非表示のグループやエレメントを「This element is visible on page load」のチェックをはずし、必要な時だけconditionなどで表示するのはどうでしょう?

「いいね!」 2

ご返信ありがとうございます!
気をつけてみます!
すみませんこれに関連してなのですが、SPAでページ切り替え時のローディングのアニメーションをつけるのって可能ですかね…
それが出来れば重さもあまり気にならなくなると思うのですが…

うーん、ちょっとやり方が思いつかないですね。。。
どなたかアイデアをお持ちの方いらっしゃいませんか・・・:sweat_smile:

「いいね!」 1

試す必要はありますが、もともと非表示の要素の場合はentireフラグが取れるのではと思います。
entireフラグで処理できそうであれば、このフラグステータスによってローディング画面を描画するのが良さそうです。
これができない場合は、javascriptで画面に新規読み込みが発生した時にローディングアニメーションを描画するのが良さそうです。

ご返信ありがとうございます!
go to pageでurlに値を送ってページを変えているのですが、entireがnoのときに表示されるローディングアニメーションが出てこないんですよね…
なので数秒固まってからページ遷移するかんじになってます…

javascriptまだ勉強中なのでこれから頑張ります!
ありがとうございました

SPAでページ切り替えで数秒固まるのは、そもそも設計にやや問題があるのではと思います。

SPAとして表示させる先のページでロードされるものを先読みするなどのデータロードに関する設計を改めると良いかもしれません。

なるほど!ありがとうございます!
ロードの設計のことあまり深く考えたことがなかったのでとてもありがたいです。
勉強不足ですみません。先読みする方法を教えていただくことは可能でしょうか。検索しても出てこず…
もしロード設計に関して何かコツや参考になるサイトがあればぜひそれも教えていただきたいです。
勉強不足で何度も質問してしまいすみません。
いつもありがとうございます。
どうかよろしくお願いいたしますm(__)m

実装が少しややこしい可能性がある前提で、

  • 検索に時間がかかる項目をあらかじめcustom stateに格納する
  • custom stateに格納する処理はpageの初期読み込み完了後から段階的に実行
  • 読み込み前にspaのページが開かれる場合は、そちらの読み込みを優先して処理する

などでしょうか・・・
画面要素はさらに増える+reusableなど駆使して作る必要もありますので、開発に慣れている+設計ができるとなっていないと難しい実装になります。

ご参考までに。

「いいね!」 3

ありがとうございます!!