このブログをご覧の皆様、はじめまして
運命浄化!
というワードにピンと来た人は私と良い会話が出来ると思いますw
さて、この記事のテーマ分類はAndroidですが、
本日はAndroidとiOSのアプリのレイアウトの作り方や画面遷移の違いについて軽くお話が出来ればな、と思います
アプリで表示される画面、AndroidではActivity、iOSではViewと呼ばれるものに、
ボタンやらテキストやらを配置してアプリを創る事が出来ます。
そして、それらを遷移するための仕組みがAndroidではIntent、iOSではmodalとかpushとかが存在しています。
Androidでアプリを創る際、殆どの人はeclipseを使うことになりますが、
そこでGUIを利用してレイアウトを組み立てることが出来ます。
一方、iOSではStoryBoardを利用することになります。
どちらもGUIでレイアウトを組み立てられますが、ソースコードに手を加える手間が少し違うと思っています。
Androidでは大まかな配置をGUIで置いて、後でxmlを操作する場合が殆どです
ですが、xmlの書式は理路整然とされていると思うので、どの値をいじればいいのかはわかりやすいと思ってます
対するiOSではStoryBoardを利用する場合そこで全ての作業を行うことになります
コードが表に出てくることは殆ど無いと言っていいでしょう
XCordの扱い方に慣れる必要はありますが、コードを勉強せずとも細かなレイアウトが出来るはずです
続いて、同じ画面内で動的なレイアウトをする場合について少し考えてみました
レイアウトの静的な部分は以上の方法で作れますが、動的な部分はどうしてもコーディングの要素が出てきます
Androidの方ではコードでレイアウトを書き換えることが容易に行えると思っています
一方、iOSのStoryBoardではコードに関する部分が表側に出てこないので少し難しいかもしれません
最後に、画面の遷移についてお話をしましょう
Androidでは、Intentという仕組みを利用しています
Activityという駅の間をIntentという電車が走って画面を遷移しているというイメージを持って良いと思います
これはGUIで扱うことは出来ず、コーディングを行うことになります
一方、iOSのStoryBoardでは右ドラッグ一つで画面遷移を創る事が出来てしまいます
このお手軽さは強みと言えるでしょう
しかし、値の受け渡しをするとなると少しお話が違ってきます
AndroidではIntentという電車に値という荷物を遷移前の画面で積んで、遷移後の画面で積み荷を降ろすイメージです
数行付け加えるだけで比較的簡単に出来ると思います
また、遷移後の画面を閉じた際に遷移前の画面に値を渡す際も、
遷移前にIntentに往復運転の指示を出しておいて値を受け取る準備をし、
遷移後の画面が閉じるときに値という荷物を積んで遷移前に戻った時に積み荷を降ろせばOKです
一方のiOSでは、遷移後に値を渡す際にsegueという仕組みを使います
segueというトラックに積み荷をして飛ばすイメージですが、
値の受け渡しがない画面遷移よりはAndroidより手間の差が大きいと思います
さらに遷移後を閉じたときに遷移前に値を受け渡すにはdelegateという仕組みが必要です
遷移前にあらかじめ値を受け取るメソッドを用意しておき、
遷移後が閉じる前に処理を遷移前に委譲して受け渡してから閉じる、ということを行っています
この手間はAndroidよりもはるかに大きいと作って感じました
以上、AndroidアプリとiOSアプリのレイアウトの作り方と画面遷移の違いについて、
個人の意見を多分に含みながら書いてみました
コードでゴリゴリ書くぜ!という人はそれで素晴らしいと思います
が、触れたばかりの人の扱いやすさについて書いてみました
それではまた 運命浄化!