chakokuのブログ(rev4)

日々のごった煮ブログです

Xamarinによる開発をあきらめてSwift/Xcodeでアプリ開発する

最初Xamarinで頑張ろうとしたけどMACが必須と分かって有難味がなくなり、素直にSwiftでアプリを作ることにした。幸い、先輩から古いMACを借りれたので、OSを最新?(Sierra)に上げてXcodeを入れて簡単なアプリを作ってみた。新しいIDE上でのアプリ開発を勉強するには、IDEの操作も併記されたアプリ開発の解説本を買って、本の通りに作る方が理解も進むので、Amazonでの評価も高いYahoo黒帯本を買って試作した。

この本は、Swift言語仕様はあまり詳細に書かれていないけど、アプリを作るのに必要となる概念やIDEを使ったアプリ開発の手順が詳細に書かれています。この本の通りに、サンプルアプリを開発すると、最低限の知識は得られると思います。開発環境構築〜開発〜アプリリリースまで一通り述べられた、バランスの良いいい本だと思います。
左のキャプチャは今回試作した税金計算アプリ(笑)。解説本からかなり端折って作っています。8%?の税率で税金を計算してくれるだけ。何の便利さもないけど、試作だからOK。そっけないアプリだけど、自作アプリが自分のiPhone上で動くとちょっと嬉しい。普段のちょっとしたPC用アプリはVisualStudioでC#で作ってるのだけど、iPhoneアプリ開発では、IDEの使い方、画面を構成する概念がかなり違う。でもまぁ頭の中で翻訳すれば大丈夫だろう。。

Swift言語は設計が新しいので、比較的理解しやすいと思うのですが、、ハマリ処の、Optional型、ラップとアンラップ、!と?の違いがよく分からず、、細かい仕様を理解するには、CUIであれこれ実行するのがすぐに反応得られて理解が進む。というわけで、、CUIで対話的にSwiftを動かせるようにUbuntu環境にもSwiftを入れた。

https://swift.org/download/#releases

wget https://swift.org/builds/swift-3.1.1-release/ubuntu1604/swift-3.1.1-RELEASE/swift-3.1.1-RELEASE-ubuntu16.04.tar.gz

正しいインストールは./configureとかで入れているのだろうけど、展開しただけでも動くので、とりあえず展開した場所で./swiftで使ってみることにした。
パーミッションの関係で、素で走らせると、下記のようなエラーが出る

error: Couldn't IRGen expression, no additional error

swiftの環境は勉強のための暫定インストールなので、、root権限で逃げしまう。

ubuntu:~$ sudo /usr/local/swift-3.1.1-RELEASE-ubuntu16.04/usr/bin/swift
Welcome to Swift version 3.1.1 (swift-3.1.1-RELEASE). Type :help for assistance.
  1> print("hello")
hello
  2>

多分この記事をじっくり読んで自分でも試せば理解できるはず。。
http://qiita.com/maiki055/items/b24378a3707bd35a31a8
Qiita「どこよりも分かりやすいSwiftの"?"と"!"」maiki055様

あるいは、、Swiftの言語仕様に特化した解説本を読んでみるか。。

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)

そもそもなぜiPhoneアプリなのか??何を作るのか??
ー>これまでAndroidだったけど、今回iPhoneに乗り換えたから。で、、作りたいのはEchonetLiteの勉強を兼ねて、外から家の家電を操作できる俺HEMSアプリとか。。まあ、、家電のOn/Offぐらいなら、サーバサイドのアプリでGUIとしても十分では?という気もするけど。
これまでSwiftなんて関係ないやと思っていたけど、こうやって使うことになるとは。。先の事は分からいもの。。シミジミ