Swift初心者がiPhoneアプリを約2ヶ月で開発した感想とか

 

雑談です。感想です。

いやーなかなかしんどかったです。iOSアプリ開発。

今ネット上では「1週間でできる!」といったキャッチフレーズでいろいろ言われいますが、いざ作るとなるとなかなかしんどいですね。

まずは僕の作ったのもを簡単に紹介します。

作ったiOSアプリの紹介(宣伝)

簡単に言えば、やってもやらなくてもいいことに対してのタスク管理のSNSです。

ダウンロードはこちら→https://itunes.apple.com/us/app/mabit/id1372420728?mt=8

ファッ!意味わからんわ!と思う方も多いってことで具体例を出すと

  • 毎日英語の勉強をする
  • 週に1冊は本を読む
  • 週に3回ジムにいく
  • 毎日日記をつける

といった「やってもやらなくてもいいけど、やったほうがいいと思っていること」ってあると思うんですよ。

でもこれってやってもやらなくてもいいから結局「まあいいか」って終わっちゃう。

僕もなんどもこんな経験しています。とにかく継続するのが難しい。

そこで、どうやったら続くか?と考えたときにやっぱり「周りの目が必要だな…」と感じました。

確実なのは、無理矢理やるためにそういう環境に自分の身を置くことで解消もされますが、それはめんどい。

そこでどうやったら周りに知らせられるかということを考えたわけです。

あ、「SNSにしよう!」という安易な発想から作られました。Twitterでも用は足りますが、それに特化しておけば、管理しやすいんじゃねーのってことですね。

 

まだまだ開発途中ですが、暇な人はダウンロードしてくれると喜びます。(今のところユーザー数は僕だけです(笑))  

https://itunes.apple.com/us/app/mabit/id1372420728?mt=8

んじゃ紹介はこの辺にして、勉強方法などについて書いていきやす。

 

iOSアプリをリリースするまで

プログラミング自体は情報系の大学を卒業しているので、基本的なことは理解しているつもりです。

これから先は全くの無知の人は何言っているかわからない部分もあるかもしれないです….すみません。

iOSアプリ開発環境・ツール

  • Xcode 9.2
  • swift 4.0.3
  • データベース:firebase
  • github
  • trello

メインストーリーボードなし。ちょっとこれについては思ったことあるので書いておきます。

メインストーリーボード使用、不使用論争

メインストーリーボードとは、ドラッグ&ドロップでいろいろなパーツを設置できるXcodeの機能となります。

そのメインストーリーボードを使用すべきか?という議論はいろんなところでされていますが、アプリの規模感で使うか使わないか変わってくるのではないかなーと思います。

僕は全てコードで管理したかったので、メインストーリーボードは使用しませんでした。

メインストーリーボードいって、プログラミングして、メインストーリーボードいって、、、、、という繰り返しはめちゃくちゃ時間かかりませんかね。

というかメインストーリーボードの使い方よくわからんし。動的なページ作るとなると結局コードで管理するなら最初からコードでいいんじゃないの。。。。?と思ってます。

それに複数人管理になったとき、メインストーリーボードってどうなるのーーーとかいろいろ思ってました。

今はエディタXcode一択だけど、今後有能なエディタが出てきたときメインストーリーボードまで作ってくれるとは思わないし。

 

iPhoneアプリ開発で使用したライブラリ

ライブラリとは、便利な機能を誰かが作ってくれているので僕たちはそれを使うことができるもの。

とにかく楽をしたいってことで先人の知恵をたくさん使わせていただきました。

本来なら自分で開発すべきな部分もありますが、、、、ライブラリの使用のしすぎはきっとよくないはず?

  • firebase(データベース)
  • Cartography(オートレイアウト用)
  • FontAwesome_swift(fontawesome)
  • SKActivityIndicatorView(インジケーター)
  • CropViewController(画像)
  • SDWebImage(画像)
  • IQKeyboardManagerSwift(キーボード)
  • XLPagerTabStrip(ナビゲーションタブ?)
  • Validator(バリデーション)
  • TwitterKit(Twitter)
  • CloudTagView(タグ)
  • CalculateCalendarLogic(カレンダー)
  • FSCalendar(カレンダー)

気になるライブラリがあればググって調べてみてください。

 

iPhoneアプリ開発の学習手順

まあXcodeの使い方は最初はよくわからない。

なんだよこれ、いろいろありすぎてどれ触っていいか、わからない。ってのが正直なところです。

Udemyで簡単なプログラムを写す

本もありましたが、僕の性格上、一からやっても挫折するだけなので、(使わない機能もあるし。)動画配信サービスに頼りました。

Xcodeの使い方、簡単なアプリの開発の仕方はUdemyという動画でプログラミングを教えてくれるサービスを利用しました。

→【3日でできる】はじめてのiOS アプリ開発超入門

有料ですが、僕が買ったときは確か1600円くらい。本1冊くらいと考えれば、安いもんです。

本だと網羅されているのはいい点ですが、今自分が作ろうとしてるアプリに対して、必要な知識なのか?ということがわからないので結局学ぶだけになってしまうことが多い気がします。

最低限だけ知識をつけて、習うより慣れろってやつです。

 

あとは、ドットインストールでiOSの動画も少しだけあるので、見てみるといいかもしれませんね。

 

さて作り始めましょう。

iPhoneアプリ開発開始

とにかく作り始めました。まだまだわからないことだらけです。

しかし、とにかく作り始めました。

ここどうやるんだろうと思ったらひたすらググる。

メインストーリーボードなしで開発をしていたので、ググってもググっても「メインストーリーボードではこうやるんだよ」といった記事ばかり。

 

「Appleの公式リファレンス見にいこ。」と思ったものの、みてもようわからん。サンプルコード用意しとけやああああ。

うおーーーーと思いながら、日本語の検索は諦めました。

「tableview custom programmatically」とかググるとクソほどメインストーリーボードなしでコード書いている人が出てきます。

programmaticallyってのがコードで全て書くって表現っぽいので、検索の参考になればと思います。

というかstack overflow最強すぎますね。めちゃくちゃ参考にさせていただきました。

日本だとQuittaとかTerateilが有名どころですが、圧倒的に回答数が多いのがstack overflow。

 

 

ある程度、書き方がわかったところでひたすらにライブラリを探しました。

https://www.cocoacontrols.com/

ここが画像も載ってて見やすかったです。

それで上記のライブラリを見つけてcocoapodsでインストールしまくりました。

 

正直こんなもんしかしてなかったです、2ヶ月間。

ググってググッてサンプルコード動かしまくって、動き確認して、プリントしまくって、、、、

とにかく手を動かす。

Googleさんには何度ロボットじゃないの?と疑われたか…(笑)

しかし、おかげさまでswiftはある程度理解できました。バックエンドはfirebaseを使ったんでわけわからんですが。

 

その他技術的なことはまた別の記事に書いていきますので、参考にしていただければと思います。

 

 

Swift初心者が2ヶ月でiPhoneアプリを開発した感想

正直、もう少し簡単なアプリ作ればこんなに苦労しなかったのにな。。。と思っていますが、それに伴いそこそこSwiftは理解できたので結果オーライです。

ここでは全然書きませんでしたが、firebase最強すぎますね。

バックエンドは何も書かず、フロントのみに集中して開発ができました。

次のアプリもfirebase使います、たぶん。会社単位でやるには少し物足りないかもしれませんが、個人だったら十分だと思われます。

またfirebaseについては別記事で書きやす。

 

殴り書きになりましたが、以上となります。何が書きたかったのか自分でもわかりません、ただ単純に終わったぞーという達成感で書き始めただけです。

読んでくれた人、すみません。

 

次のアプリは何つくろーかな。

 

じゃーの。

Follow
SHARE