天気情報アプリ Mac版リリース!
概要
天気情報配信 iOSアプリを先日リリースし、APIをMac版ネイティブアプリにも使える!と思ったのでMac版に応用しリリースしてみた。開発にあたって試行錯誤したことを書きます。
実装スキルを向上したい方向けに書いていますが個人主観が強いため、参考にならない場合もあります。あしからず。
リリースしたアプリはこんな感じです。
作る上で気をつけたこと
いつも気にしているところをいくつか取り上げてみる。
役割毎に処理を分割し再利用をするため、できるだけ疎結合にすることを心がける。チェーン状(密結合)になってしまうと、処理が前後で依存してしまうため他処理への流用がしにくくなり、関数化する意味がない
できること、できないことを早めに判断し、必要に応じて別の手法で解決するよう心がけることで無駄な調査をやめる。できないことにいつまでもこだわってしまうと、時間を浪費してしまうため実現したい機能が作れなくなる
なるべくStackOverFlowは見に行かず、Apple Swift APIを参照しながら実装を進めた。理由としては、サンプルコードを実行するわけではないので、ピンポイントで調査できるため
ハマったこと
環境設定画面の見せ方でハマった。最初はsegueのshowで画面遷移を実装していたが、showを使ってウィンドウを表示してしまうと、クリック毎にウィンドウが生成されるため見栄えとしてはよくなかった。AsSheetを用いるといい感じのUIになったため、採用し解決。
Macアプリ制作の難易度的には
本業ではないため完全に主観だが、iOSアプリ開発主体の身からしたらMacアプリ開発の言語はiOSと同じなため、なんとかなる、といったところ。
ただ、APIはiOSと比較して非常に不親切な作りとなっている。かゆいところに手が届かない。
Macアプリに関してはそんなに開発者多くないせいか、言語に対する開発のしやすさの面でいうと、開発しにくい印象。
本アプリの開発環境は以下のとおり
- IDE : Xcode9.1
- 開発言語 : Swift4.0
- 対象デバイス : MacOS
- OS : MacOS 10.13.4 High Serria
- Core : FMDB
- APIラッパーライブラリ : Alamofire
- ソース管理 : Github
- API : PHP、Apache、MySql
- サーバ : CentOS
- リリース対象 : MacAppStore (MAS)
所感
どちらかというと技術記事読みながら、というよりもApple Swift 各種APIを参照しながら、足りないものはApple Referenceを見にいくやり方が自分には一番しっくりくる。
そうしていくと、壁に当たることもあり、適宜トライ&エラーを繰り返す。見つけたTipsは技術サイトなどに投稿し、書き溜めておいて同じところで時間を使わないようにしておく。
アプリの紹介
よろしければダウンロードしていただけると嬉しいです!
↓ここから↓