開発実務経験ゼロの僕が、swiftでアプリを開発するまでにやった6つのこと
はじめまして、今年の10月からジェネストリームに入社しました太田です。
主にswiftを使ったiOSアプリ開発とrailsを使ったWEBアプリ開発をしてます。今まではIT業界で営業をしておりましたが、今年からエンジニアデビューした新米エンジニアです。僕の記事では、主にswiftとrailsに関する記事を投稿してまいりますのでよろしくお願いします。
さて、genonymousブログとしては先週の釘宮に続き第2回目、僕の記事としては初投稿ということで何を書こうかなと思っていたのですが、社内向けの業務アプリなので公開こそできないものの、100%swiftを使ったiOSアプリを1本リリースしましたので、今回は開発実務未経験からswiftアプリをリリースするまでにやったことを書きたいと思います。
作ったアプリ
UIWEBViewを使って、表示しているWEBページをスクレイピングするアプリ
やったこと
1.勉強会に参加した
最初は勉強会に参加しました。swiftが何か、objective-Cとどう違うのか、swiftだけを勉強してiOSアプリを開発することは可能なのかを知らないと、途中で心が折れると思ったからです。
僕の場合は、
第1回 Swift 勉強会 - ファーストインプレッションを語る会@wantedly - connpassに参加しましたが、いきなりswiftを勉強しはじめるのではなくこういった勉強会に参加して、swiftとobjective-Cの違いをiOSのベテランエンジニアの方々から聞いたことによって、その後のモチベーションが安定したと思います。
2.iOS Developer Programに参加する
これはiOSアプリを開発するのであれば当たり前ですね。無料のアカウントもありますが、僕は有料のアカウントに登録しました。何よりも自分を追い込むためです。それによって有料アカウントのコストを回収しようというモチベーションが湧いてきます。
純粋にiOSアプリ開発をしている開発者の人たちからしたら「にわか乙」とか言われそうです。しかし、本当に僕は今しかないと思っていたので、どんなことをしてもいいからswiftを使った開発に自分を追い込む環境を作ろうと思い有料アカウントに登録しました。
iOS Developer Program - Apple Developer
3.公式のswift本を読んで知識を得た
勉強会で、objective-Cの知識を補完しつつswiftを使ってiOSアプリを開発するが問題なさそうだということが確認できたら、次はAppleがiBooksから出ているswiftの公式本を読みました。
今は日本語でもちょいちょいswiftに関する書籍が出ているのでそちらを読むのもアリだと思います。これは開発と並行しながらやればおkだと思います。
4.実際にアプリを開発してみた
3番の知識習得と並行して自分でアプリを作ろうとしてみました。他の言語での開発経験もほとんどない僕は、当然ながらどう作ればいいかわからないので、ひたすら調べながらやるということになります。
今思えば、アプリを作りながら調べることによって得た知識が、一番自分の身になった気がします。
5.もくもく会に参加したり、自分で主催したりしてみた
僕は家で集中することが苦手なので、iOS、swiftに関するもくもく会に参加しました。もくもく会に参加することは、集中できる、モチベーションの高いiOSエンジニアの人と仲良くなれる、自分がハマっている箇所を聞くことができるなどいいことだらけです。
僕みたいに家で集中できない人は、もくもく会に参加されることをおすすめします。最近では当社とビズリーチさんがswiftの勉強会に力を入れています。iOSに広げると、rettyさんとネクストさんもやってます。
6.railstutorial.jpをやってみた
これは自分がやろうと思ってやろうとしたわけではなく、転職活動中にある会社から与えられた、twitterもどきを作ろうっていう課題を与えられた時に丸パクリしたやつなんですが、実はrailstutorial.jpをやったことが今となっては良かったなと思います。
swiftから脱線しますが、開発経験のほとんどない僕は、オブジェクト指向、MVC、引数、セッションなどについてその言葉の意味さえ知っていながらも、いざそれをエンジニアとしてプログラムに実装しようとすると完全にフリーズなわけです。
そうなってくるとswiftでアプリを作ろうにも、MVC、オブジェクト指向は最悪無視したとしても、引数の設定などのくだりになると「初号機、完全に沈黙」状態になるわけであります。
かといってswiftでのチュートリアルなんてネット上でほとんど落ちているはずもなく、落ちていてもNDAの都合上Xcode5のキャプチャで「わかんねえし…orz」状態に陥るとなると、他の言語でやるしかないわけです。
でもこれがビンゴ。テスト駆動開発とか、MVCとかを身をもって知ることができたな、という感じです。これがswiftのアプリ開発に役立っていることは言うまでもありません。
Ruby on Rails チュートリアル:実例を使って Rails を学ぼう
以上が僕がswiftアプリを開発するまでにやったことです。
swiftをまだ使ったことがなく、これから開発をし始めていきたい人たちの役に立てばと思います!