#4 未経験→iOSエンジニアの道のり- 使用ツールやwebサイト

# はじめに
大まかな技術的な部分は　１、２、３に書きました。
この記事では、よく使うwebサイトや開発にて使用するツール等について書きます。
 
# Index
1. [#1 未経験→iOSエンジニアの道のり-開発に挑戦~リリースまで](https://qiita.com/57shota/items/6c31fa44340d120bec39)
2. [#2 未経験→iOSエンジニアの道のり-ライブラリと設計](https://qiita.com/57shota/items/6cb8ef6bb466901e53c7)
3. [#3 未経験→iOSエンジニアの道のり-git周り](https://qiita.com/57shota/items/63573de6186fcaa52584)
4. #4 未経験→iOSエンジニアの道のり- 使用ツールやwebサイト　←　ここ
    5. UIUXデザイン
    6. お勉強サイト
    7. その他プロジェクト管理等
5. [#5 未経験→iOSエンジニアの道のり-現場着任前/後の取り組み](https://qiita.com/57shota/items/52b6238442d83cb2f13d)

# 4-1. UIUXデザイン

|そもそも|略|概要|
|:---|:---|:---|
|UIとは|User Interface|あなたの目に見えている視覚的デザイン部分|
|UXとは|User Experience|使いやすさ、見やすさなどサービスを通して体験する部分|
さしずめアプリの格好良さ可愛さが**UI**、ユーザへの思いやりが**UX**ではないでしょうか。
間違っていたらすいません。

さて。
私はもともと、趣味程度ですがAdobeのPhotoShopやIllustratorを使用していました。画像の編集や簡単なロゴの作成をするときに使用していましたが、Adobe製品はそれぞれのソフトの使用感が似ているし、有名なツールですので少し操作を覚えるとひょんなことで経験が生きたりします。おかげで友人からフライヤー作成やロゴの調整など頼まれたりもして、そんなことでもお勉強になったりします。

ですがMacを使用するiOSアプリ開発には**Sketch.app**というソフトが相性がいいという情報を得たので、今後現場に入ってからも触れることを想定し個人開発のデザインからこちらを使用するようになりました。それも含めいくつかツールを紹介します。

## Sketch.app
https://www.sketch.com/
<img width="700" alt="Screen Shot 2019-08-18 at 11.40.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/070a6653-f351-1fe9-c433-363def55d6bb.png">

||無料版|有料版|
|:---|:---|:---|
|期間|30日間|$99/year|
|学割||学生割引あり -50%|
|備考||1年間のアップデートが可能。ライセンス更新は$69/yaerだが、しなくてもアップデートはできないがソフトは使える|

### 特徴
インターフェイスはMacのデザインもといXcodeに寄せていてクリーンで、イラレほど細かい作業はしないのでスッキリしていて私は好きです。操作も割と直感的に行えるのがいいところです。

３０日間のフリートライアルと、1年間のアップデートを受けられるライセンス取得があるので、私はiOSUI以外にもデザインソフトとして活用したかったのでトライアルの後に学割で購入しました、50%offなんて世の中は学生に本当優しい。

webサイトのデザインでも使えますし、アートボードはiOS端末ごとのサイズも豊富で**Sketch**はデフォルトでiOS端末のフレームやいくつかUIKitのパーツが用意されているので、デザインが捗ります。

<img width="700" alt="Screen Shot 2019-08-18 at 14.39.09.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/c4570a0b-2f32-a586-d53a-b77fbf95f45e.png">

他にも様々なプラグインがあって様々なテンプレートが使用できたり、CSSベースでデザインの書き出しができたりもできます。CSSの書き出しはやってみましたが、グラデーションなど微調整が必要でした。
もちろん素材は 1x 2x 3x とエクスポートできます。

## Figma
https://www.figma.com/
![Screen Shot 2019-08-18 at 14.49.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/85eaa781-feef-a614-80ac-41ffead56d1f.png)

||無料版|有料版|
|:---|:---|:---|
|期間|30日間|$12/month|
|学割||学生は無料 <br> ※Education Accountの登録で有料版の使用ができます。 <br> https://help.figma.com/article/212-setting-up-your-education-account|
|備考|チーム開発関連で制限あり|個人有料版の他、Organisation Planあり|

### 特徴
**Figma**の特徴といえばチーム開発に優れているところでしょう。複数人で同時に作業できるという特徴があり、コメントを残したり作業中のチームメンバーのエディタを見ることができます。インターフェイスはWin10っぽいなぁと感じました。

私はデザインチームに入りたいわけではなかったですが、もし個人でデザインの勉強をしたい人はデザイン系の知人や先輩と作業しながらお勉強、というようにも活用できますね。
<img width="700" alt="Screen Shot 2019-08-18 at 15.47.40.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/c4675616-c45c-bd3c-b8de-0d327ba4e356.png">

**Sketch**ファイルのインポートもどうやら可能のようで、最近**Figna**に乗り換えてなかなか良いと言っている人もいるので私そのうち試そうと思ってます。

## Adobe XD
https://www.adobe.com/jp/products/xd.html
<img width="700" alt="Screen Shot 2019-08-18 at 15.47.40.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/3f12fc1d-4a33-249c-125c-70d09881f0d4.png">

||無料版|有料版|
|:---|:---|:---|
|期間|期限なし|¥1180/month 単体の場合|
|学割||単体割引はなし <br> Creative Cloudプランの場合、¥4980/month → ¥1980/month|
|備考|共有プロトタイプ数やクラウド容量が低い制限があるものの、基本的には有料版と大差無い使用が可能|共有プロタイプ数無制限やクラウド容量が100GBになる|

### 特徴

天下のAdobe製品、インターフェイスはAdobe感があるものの**Sketch**寄りでしょうか。余計な操作は
排除されている雰囲気です。フォトショやイラレの使用経験があればなんとなく操作感は掴めますし、イラレのようなグラフィックデザインツールではなくあくまでUIUXデザインツールの立ち位置なのでそこまで深い操作知識がなくても取りかかれそうな感じです。

有料版と大差なく使用できる**期限なしの完全無料版がある**のは、これからデザインをやり始める人にすごくありがたいんじゃ無いでしょうか。
<img width="700" alt="Screen Shot 2019-08-18 at 17.55.01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/267009bf-74f9-f1db-c915-4ec3c6673d53.png">
動作の軽さと良い意味での無駄のなさがこの中だと一番で、もともとAdobeユーザーならそのまま**XD**を使用するのもアリかと思います。

## Zeplin
https://zeplin.io/
<img width="700" alt="Screen Shot 2019-08-18 at 18.09.58.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/1dad7020-023f-d3df-30c7-c989bf3f7607.png">

||無料版|有料版|
|:---|:---|:---|
|期間|期限なし|$19/month monthly/yearlyで選択可能|
|学割||Starter Planが1年間無料|
|備考|アクティブで保存できるプロジェクトが1つ|Starter Planだと3つまで保存可能|

### 特徴
もう一つデザインツールの使用と同時に現場に入る前の知見として、**Zeplin**というツールに触れておくと良いかもしれません。

これはデザイナーとディベロッパー間の情報交換を円滑に行ってくれるツールで、設計書を作成してくれます。
デザインプロジェクトを**Zeplin**にエクスポートすると下記画像のようにサイズや色などを確認することができます。

<img width="700" alt="Screen Shot 2019-08-18 at 18.09.11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/f508d9c3-7454-5db8-c595-226bb0428f58.png">

私はペアプロで先輩エンジニアとお勉強していた時に教えてもらって使用していました。一人で開発するのであればオプショナル的存在ですが、現場に入る将来を考えているのであれば一つくらいプロジェクトを管理してみてはいかかでしょうか。アカウントさえ作成すれば、第三者と使用してるデザインソフトが違ってもデザインの確認ができますので、誰かにデザインを見せたい聞きたい時に役立つかもしれません。

## 4-1まとめ
デザインツールに関しては上記３つが市場を占めていますので、○○ + **Zeplin** のような感じでデザインを管理してみると今後少しは役立つと思います。

ちなみに https://uxtools.co がデザイナーに対して行った2018年の世界基準で採用されているUIデザインツールの割合は
<img width="650" alt="Screen Shot 2019-08-18 at 18.31.23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274090/99504974-5595-5a9d-fafd-94df8814f53c.png">
参考：　https://uxtools.co/survey-2018/

と、**Sketch**が大幅に上回っているようです。他にもテーマごとの割合も発表されているので気になったら覗いて見てください。

デザインツールに関しては業務で直接的に触れることは少ないと思いますので、価格や操作規模、インターフェイスやロゴの格好良さ（笑）などを踏まえてチョイスして見てください。
私はハート、歯車等の簡単なアイコンなど素材を仮当てする際もパパッと作れるので**Sketch**が好きです、あと公式サイトもリッチで好きです。

### 段階レベル
- UIデザイン素材作成からコーディングまで自分で完結できるようになる
- コードを書くディベロッパーという畑の他に、デザイン畑も少し覗けるようになる
- 好き勝手にデザインを作るからAutoLayoutたくさん勉強できる
- デザインソフトが触れる事実があると少しモチベーション上がる

# 4-2. お勉強に便利サービス
以下では世間では有名なプラットフォーム、個人的によく利用するプラットフォームを記載します。正直普段からqiitaを読む人達や業界では常識な部分もあると思いますが、こういうのを知りたい友人のためにも書きます。

## コーディング系

### Apple Official Documentation

- [Apple Developer Documentation](https://developer.apple.com/documentation)
- [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)

ワレワレハアップルノシモベなのでとりあえず公式docを二つ。
前者はUIKitなどライブラリの説明書です。
後者はヒューマンインターフェイス、UI設計の原則が記された説明書です。

### Teratail
https://teratail.com/
Yahoo知恵袋の技術者特化版です。質問すると誰かが答えてくれます。コードに詰まって解決に時間がかかりそうなら質問を投稿して聞いてしまうのもアリよりのアリだと思いますし、周りに質問できるディベロッパーの知人がいなければこうやって解決するしかないです。回答してくださる人は好きでリアクションしてくれるわけですから、自分でトライして見てダメそうなら質問して回答を待っている間に別の作業とかして見てもいいんじゃないでしょうか。

### Stack Overflow
https://stackoverflow.com/
アメリカ産の質問サイト。質問系はこの二つ、もしくはgithubのissueなどが検索でヒットすると思います。文章が自然な記事も拝見したことがあるのでもしかしたら日本語での投稿もあるんだと思いますが、質問できる程度の英語力があれば投稿してみると割とレスポンス返ってきます。

### Youtube
https://www.youtube.com/
[swift UITableView how to]などで知りたい内容を検索すると割と講座があったりします。ピンポイントであるか、もしくは一つのプロダクトの完成を目指して行う講座の一部かで分かれるので効率的ではないかもしれませんが、同じ速度で進められるのが良いところです。

このチャンネルたちには少しお世話になりました。

- [David Tran](https://www.youtube.com/channel/UCvPFGq6luCqAVGiFpzTvkIA)
- [Mark Moeykens](https://www.youtube.com/channel/UChH6WbyYeX0INJjrK2-6WSg)
- [Lets Build That App](https://www.youtube.com/channel/UCuP2vJ6kRutQBfRmdcI92mA)
- [MACentral - MobileAppCentral](https://www.youtube.com/channel/UCFW2k9hG2x_osZRvPk6pasQ)

### raywenderlich.com
https://www.raywenderlich.com/
動画、テキスト記事、e-booksの３つのサービスがあり、動画は年購読だと**$15/month**、書籍は都度購入、記事が無料で読めます。この記事も結構良くて、痒いところに手が届くというか、○○のチュートリアルないかなぁと思った時に探すと割とあったりするのでよく利用します。

書いてくれてありがとうマイベストアーティクル

- [Getting Started With RxSwift and RxCocoa](https://www.raywenderlich.com/1228891-getting-started-with-rxswift-and-rxcocoa)
- [ReSwift Tutorial: Memory Game App](https://www.raywenderlich.com/516-reswift-tutorial-memory-game-app)

## ノート系

### Boostnote
https://boostnote.io/ja/

マークダウン対応してるし、コードスニペットではだいたいの言語でシンタックスハイライト付くし、ToDoリストだと進歩状況も表示されるし、しかもOSSという素晴らしいプロダクトです。日本人が開発なさっています。
昔はモバイルアプリもあったようですが、色々あって現在開発休止中のようです。早く再開してほしい。

クラウド同期ができないのを理由に最近**Evernote**に出戻りしたんですが、なんとクラウド同期できたらしい。
http://boostnote.hatenablog.com/entry/2017/10/06/130755

### Evernote
https://evernote.com/intl/jp/

定番クラウドノートアプリ。モバイルアプリもあるのでPCとスマホ両方でノートを管理したい場合はこちらの方がいいかもしれません。マークダウンが対応していないのが難です。移動中にも調整したり見たりしたいメモ（アウトプット記事とか）もあるのでこちらを使っていましたが、Boostnoteのモバイル版開発が再開したらそちらに移行したいです。

これらのメモ帳はネタ帳がわりに使うと、読み返したりさらっと使えたりして便利です。


## 4-2まとめ
以上個人で開発をする際に使用しているツールでした。今後iOS開発者としての将来を考えているのであれば、就活での技術課題で簡単なアプリ作成を求められることもあると思うので、デザインから一から挑戦してみると今後役立つかもしれません。
ちなみに様々なデザインを見たい場合は、pintarestで検索して見たりinstagramで #uidesign などのハッシュタグで検索してみると幸せになれると思います。

# 4-3. その他プロジェクト管理等
一人開発では触れる機会が少ない、チーム開発でプロジェクト管理などで使用されるサービスがたくさんあります。私はこの辺何も知らなかったので、知っているだけでも現場着任後の初動ストレスを軽減できると思います。
IT業界ですので、様々なことがIT化されているので私が着任してから出会ったものも記載するので目を通す程度にどうぞ。

### 社内連絡ツール
- [Slack](https://slack.com/intl/ja-jp/)

チャットツール。どこの会社に行っても連絡チャットツールはだいたい**Slack**でしょう。招待制の掲示板 + チャットツール のような感じで、ワークスペースと呼ばれるコミュニティに属すことでその中でチャットができます。チャンネルと呼ばれるそれぞれのチャットスペースを作成し、デザイン、開発、その他など用途に分けて会話を管理することができ、スニペットでコードを送ることも可能です。
自分用のワークスペースを作成してメモを取るなどして活用していましたが、複数人で利用するとその利点が映えます。

最近、夫婦間の情報管理をslackでしたら捗った、などという記事も見かけたので、確かに家庭の諸々の整理にもかなり役立ちそうなツールです。

### タスク管理ツール
- [Jira](https://www.atlassian.com/ja/software/jira)
- [Backlog](https://backlog.com/ja/)
- [Trello](https://trello.com/)

チームに配属されると、新機能、改定などのタスクチケットが担当者に割り振られそれをこなしていく形になります。どんな内容を、誰が、いつまでに行うかが整頓、可視化され担当区分がはっきりします。これらのサービスを個人で利用してもいいでしょうし、こんなのがあるのかぁと操作感や流れを知っておくだけで着任後に調べる手間も省けます。

私はチームでタスク管理ツールを使うのは初めてでまだ最適な使い方を出来てはいませんが、出来るだけ割り振られたタスクの途中でも○○まで終わった、などタスクページ内にコメントしていくと良いかと思います。
そうすることによってチームが進捗を把握できますし、詰まっていたらアドバイスをくれたりするからです。


## 4-3まとめ
slackに関しては今後特に操作に困る部分はないと思いますが、フリーですし導入して見てもいいと思います。
タスク管理は一人でやる場合でもタスクを整理して可視化するなど役立ちますが、個人開発でここまで手を伸ばすのは余裕があればといったところでしょうか。

# #4まとめ
以上、個人開発で使用したサービス、知っておきたかったサービスたちでした。今後選択する基準になるかはわかりませんが、少しでも参考になるひとがいたらいいと思います。
もし関連サービスや、抜けている必須サービス等あれば突っ込んでください。

次が最後で、プログラマーとして出来るだけ成長できるように個人的に取り組んだこと、普段取り組んでいること、総まとめを書きます。

次　→ 5. [#5 未経験→iOSエンジニアの道のり-現場着任前/後の取り組み](https://qiita.com/57shota/items/52b6238442d83cb2f13d)