ブログのタイトルのとおり、Xcode+swiftでiPad上で動く業務アプリを開発しています。その際に気付いたことなどを、いろいろと書いてみます。一部の人には役に立つのではと思ったからです。これは良いと思った考え方やアイデアは、どんどん使ってください。
最初に作ったのは、Titanium mobileで作って運用中の業務アプリの移植でした。swiftとiOS APIを覚えるためにと、試しに移植してみることにしたわけです。このアプリでは、よく使われるUI部品(TableViewやWebViewも含む)、画面切り替え、ファイルの読み書き、オフスクリーンの描画、メール送信、ペーストボード、時間管理など、いろいろな要素が含まれていています。これを移植すれば、たいていの業務アプリが作れるようになると考えたからです。
実際、移植が終わった時点では、自分なりのライブラリが残り、これからのアプリ開発に広く役立つ基礎が整いました。また、移植したアプリは実際の業務で使われることとなり、今後はXcodeで開発することになりました。広い意味でも、移植してよかったです。
開発で一番大事なのが、設計方針です。設計方針といっても、何種類かの視点がありますが、まずは開発ツールの使い方です。何を使い、何を使わないかを決めなければなりません。xcodeでは、Interface Builderを使うか使わないか、storyboardを使うか使わないか、この2点が重要でしょう。結論としては、どちらも使わないで作ると決めました。
これらのツールを使うと、一見は作りやすく見えます。でも実際には、開発面では柔軟性が低い、つまり変更に弱いアプリに仕上がってしまいます。たとえば、全部のボタンを違う設定に変更したいとき、Interface Builderで個々に呼び出して変更したのでは、大変な手間になります。しかし、ソースコードでボタン生成の共通処理を作っておけば、その1カ所を変更するだけで、全てのボタンを一発で変えられます。このような柔軟性の高い作り方をするためには、できるだけソースコードで書いて作ることが重要なのです。
トラブル対処でも、できるだけソースコードで書いた方が安心です。ツールを使うと、そのツールの使い方が悪かったり、ツールにバグがあったりして、トラブルの原因が見えづらくなりがちです。ソースコードだけならば、原因は自分の作り方にあり、ソースコードだけを調べて原因追及できます。このほうが、はるかに効率的でしょう。
あと業務アプリでは、同じ種類のボタンや項目を、何個も並べることが多くあります。これもfor文で生成しながら配列に入れる処理が良く、ソースコードだけで作る方法に適しています。業務アプリこそ、ツールを使わない作り方に向いているのかもしれません。
ツールを使うと、明らかに良い面もあります。それはGUI設計で、最終的な形を見ながら作れる点です。これは捨てがたい魅力なのですが、なくても何とかなります。画面設計は、専用の空アプリを用意して対応します。1画面だけの中身なしアプリで、ソースコードにより部品を並べていきます。軽いアプリのため、シミュレーターを起動するのも短時間で済みます。ソースコードの表示位置や大きさを変更し、シミュレーターを起動して確認する作業を何回か繰り返すだけです。良いと思ったら、ソースコードを目的のアプリへコピーします。
このアプリのおかげで、GUI設計がだいぶ楽になりました。画面ごとにコピーして、必要な画面分だけ作りました。あとで生じるのは微調整だけなので、大きく困ることはありませんでした。
のっけから、あまり一般的ではない作り方だと感じたかもしれません。また、ツールを使わずに作るのは大変だと思うかもしれません。でも試してみると、それほど大変ではありませんでした。余計なトラブルに巻き込まれないためにも、柔軟性の高いアプリを作るためにも、Interface Builderやstoryboardを使わない作り方をお薦めします。
今後は、これらのツールを使わないで作るときのコツや、柔軟性の高い設計方法を書いていければと思っています。Titaniumのブログで書いたのと重複する内容でも、気にせずに書きます。こちらに書かないと、検索で見付からないでしょうから。
0 件のコメント:
コメントを投稿