ページ数: 320ページ 電子版フォーマット: PDF 製本版: B5変形・モノクロ 発売日: 2019年1月15日 設計を知る、パターンを知る、導入する 本書はiOSアプリにおける設計について解説した入門書です。 MVCやMVVMなどの代表的なアーキテクチャパターンの解説にとどまらず、そもそも設計とは何か?という視点から各パターンを紹介し、そして実際の現場でどのように適用されているかを解説しています。 この本の序文を読む
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(msg, "The onCreate() event"); } } つまり M-VC iOS も Android も View と Controller がまとめられてる M-VC なコードになる Model, ViewController という関係性 テストがかけない... だから設計談義が盛り上がる アーキテクチャを導入する目的 保守性の高いコード FatController にしない テストのかきやすい構成へ 考え
<この記事は「Money Forward Advent Calendar 2015」の22日目の記事です> この記事は、iOS Clean Architectureと実際にコードへ適用した内容について紹介します。 コードについては、改善の余地があるため随時修正していくと思います。 → github: https://github.com/koutalou/iOS-CleanArchitecture iOS開発においてよくある問題点 「ビジネスロジックはModelに置くべき」と言うが、開発者によって理解や意見がバラバラで統一的な実装ができない 度重なる仕様変更や複雑な仕様に対応するためにViewControllerや特定のModelが肥大化し、ビジネスロジックの本質を見失う MVC,MVP,MVVMだけで考えると、どこかのレイヤが複数の責務を持つことになり依存度の高い複雑なコードが生まれてし
こんにちわ。今日行きつけの整体師に君は日本の宝だと言われました、宝系エンジニアのばーちーです。ついに今日私自身の初著作「iOSアプリ開発デザインパターン入門」をインプレスR&Dさんから出版しました。 https://www.amazon.co.jp/dp/4844398326 本書の目的 本書の目的はMVC やMVVM などと呼ばれるiOS アプリケーション開発をするために必要な設計を学ぶことです。 私は前職などで、インターン生などの教育を担当していて、プログラミングのプの字も知らない人に対して、iOSを教えていました。そこで問題意識を持っていたのは、初心者から中級者への壁が高いこと、そしてそれらを橋渡しする良書が日本には存在しないことです。海外の本だと何冊かありますが、日本にはありません。最近では、iOSが初めてのプログラミング経験という方が多く、当然オブジェクト指向などの言葉も知らない
高性能なMacマシンを確保まず、技術的なこと抜きに一定以上の性能のMacマシンを用意するのが良いです。取っ掛かりの勉強目的などならともかく、中規模以上のアプリを作る場合低スペックマシンでは著しく非効率です。 大体以下のようなイメージで、これ未満だと早めにマシン変えた方が幸せになれると思っています。 2–3年以内に買った20万円以上程度のMacBook Pro: 許容範囲iMac 5K: 良い感じiMac Pro: 一般的なiOSアプリ開発ではオーバースペック気味でコスパは微妙かも🤔会社で、交渉しても低スペック環境を強いられるのならば転職した方が良い気がしています🤔ちなみに転職ドラフトでSWHGという招待コードで登録するとお互いプロテインゲットできるので、気が向いたらお願いします( ´・‿・`) Continuous Integration(CI)環境次に、CI環境について触れます。CI
Spot The DifferenceCan you spot the differences between these two images? If you look hard enough, you might notice a few subtle differences: The image on the right: Has a larger shadow.Has a darker gradient.Has the word “in” on the top line of the paragraph.The image on the left is a screenshot from Sketch, and the image on the right is a reproduction on iOS. These differences arise when the grap
FirebaseはGoogleが運営しているBaaSです。 多機能で開発の助けになる事間違いなしです。 どんな機能があるかはこちらをご覧ください。 Firebaseを使って2文字しばりのメッセージアプリを作ってようと思います 画面の構成図です。 主な機能です。 ・ユーザー登録 ・ログイン ・メッセージ 今回はサンプルなので友達の追加などはなく全ユーザーでメッセージを交換するような形です。(それはそれでおもしろそう) Firebase導入 こちらにアクセスします。 このような画面が表示されると思うのでコンソールへ移動をクリックします。 プロジェクトを追加を選択します。 プロジェクト名を入力して国を選択します。 入力と選択が完了したらプロジェクトを作成をクリックします。 僕は今回 「Nimoji」という名前にしました 🙂 プロジェクトの作成が完了すると↑のような画面が表示されます。こちらがプ
iOS/Androidアプリを作る際に理解しておいて欲しい「Model」という役割について説明します。わりと意識していないケースがあるので、チェックしてみてください。Read less
EasyRamble は、技術ネタや子育て、英語学習、アウトドアなどについて綴るブログです。Ruby on Rails や Swift などで、Webサービス/アプリを作っています。 Swift と Xcode を使っての iOS 開発で、ToDo アプリを作ってみる開発のチュートリアルです。ちょっと長いですが、スクリーンショット付きで Xcode の操作方法を解説して、必要となる Swift のソースコードも全て掲載しています。以下画像のような、オーソドックスな ToDo アプリを作っていきます。 Todo アプリを操作するデモ動画を YouTube に上げました。以下から確認できます。 Swift/iOS Todo App demo | YouTube 私は Swift と Xcode に取り組み始めて1ヶ月程度の iOS 開発の入門者です(記事公開時の2015年6月当時)。iOS 開
iPhone Xが発表されたわけですが、なにこのデザイナー泣かせの変態端末。 iPhoneのUI設計者グレッグ・クリスティが追い出されて、ジョナサン・アイヴがソフトウェア統括となったのが2014年。 iOS7のフラット化あたりから、どんどんとUI設計が置いてけぼりになった感がありましたが・・・ここにきてまたデザイナー泣かせの豪速球が。 ざっくりデザインガイドラインを読んでの、気になったところメモ。 画面サイズ サイズは従来のベースであった4.7インチの375pt x 667ptから、375 x 812ptに。縦方向に145pt追加された。 想定されるインパクト 表示可能な情報量が増える 縦スクロール系コンテンツのコンバージョンが増加 スクロールで隠れるナビゲーションの必要性が低下 画面上部のボタンのコンバージョンが低下 ゲームなどの全画面イラストに、黒枠が出たり、見切れたりする グラフィッ
はじめに iOSでリアルタイム通信がデモできるアプリを作りたいと思っていたところ。 RailsのAction Cableを使ったアプリケーションと通信する簡単なiOSアプリを作ってみました。 今回のRailsとiOSのコードはGithubに上げましたので、ご興味があれば動かしてみてください。 ariiyu/ActionCableSample: Action Cable Sample with Rails 5.1 and Swift 3.1 Action Cableとは Ruby on Rails 5で導入された、WebSocketによる双方向通信とRailsを統合するための仕組みです。 Action Cable の概要 | Rails ガイド Railsアプリケーション ※ruby 2.4.1、Rails 5.1.0 以下の記事を元に、Rails側の実装を行いました。 コードはほぼそのまま
結論 小手先で楽をするためのボトムアップな設計は後々苦労する 継承を使った差分プログラミングは長年運用していくと大変だ 人は楽な方に流れるので、Baseクラスで解決すべきでない問題をBaseクラスで解決して後で困る はじめに この文章は2015年1月のpotatotips13で発表するネタ用のメモに書いてました。 実際に発表した内容を含む様子は下記のページにまとめています。 http://curiosity.co.jp/potatotips13/ 会場で質問されたりツイートの様子を見てて気づいたのですが、BaseViewControllerを使いたくないという"この文章"と同意の意見は、比較的経験のあるおじさんたちの意見であって、若い人からするとなぜBaseViewControllerを使ってはいけないように言われるのかについて具体例を聞きたがる傾向が強いです。 また、不必要に自分が気に入
Web エンジニアだったはずがひょんなことから iOS アプリを書き始めてはや3ヶ月。ヘルスケア事業部の濱田です。 iOS アプリで画面遷移を実現するためには様々な方法があります。 コードのみを使う方法 xib を使う方法 storyboardを使う方法 etc. 初めはかなり混乱しましたが、最終的には storyboard と xib の合わせ技に落ち着きました。 今回はこの方法についてご紹介します。 storyboard を使うか、xib を使うか、それが問題だ アプリの UI 部品の配置は結構たいへんな作業です。とくに Autolayout の制約の設定などは、コードのみで設定するのは困難でしょう。Interface Builder の支援をなるべく活用したいところです。 そこで、storyboard もしくは xib ファイルを利用して ViewController(以下 VC)
iOSアプリの開発の話題は、ライブラリやツール、APIの使い方に始終しがちなので、ちょっと違った方向から書いてみる試み。 意図的に発散させてみようと思ったら、思った以上にまとまりがないのですが、まあそれはそれで。 私見です。 iOS SDKをよく知る 標準のAPIを呼べば一発のところを、自力でなんとかしようとして死亡みたいなことがありがちです。 API Diffを読む。ドキュメントを読む。ヘッダファイルを読む。 ライブラリも使うだけでなくて、コードを読むと勉強になります 状態の数とスコープを抑える GUIのアプリケーションは増え続ける状態との戦いです 前提を作らない。B画面はA画面から呼び出されているはず、など 例えば、Promise系のライブラリやReactiveCocoaを使う 成功/失敗/未解決を一つのオブジェクトで表現できる UIコンポーネントはアニメーションを意識しなくても雑に使
iOS関係の勉強会に参加するとほぼ間違いなく、設計に関する発表があるように思います。 「RxSwiftを使ってMVVM...」「Clean Architectureを導入...」, etc... 色々話を聞く中で、自分は以下のような課題があるなぁと感じています。 いろいろな設計方法があるけれど、結局何を使うべきなのかわからない 名前は聞いたことがあるけれど、それぞれがどのような設計で、何がメリットなのかわからない 勉強した時は分かったような気がしたけれど、もう忘れた この記事はこれらの解決の一助になればと思って書いたものになります。(設計へのモチベーションを上げたい) サンプルコードを交えながら、5つの設計について考察してみます。 ※ RxSwiftの名前を出しましたが、ライブラリに関してはこの記事では言及しません。 そもそも、なぜ設計に拘る必要があるのか iOSアプリ開発において、このよ
2016 - 07 - 01 さらなる高みへ〜iOSのMERYでなめらかなスクロールを実現するためにやった4つのこと list Tweet こんにちは。 iOS を主に担当していますアプリエンジニアのkazutoyoです。 MERYのアプリチームでは、チューニングを「さらなる高みへシリーズ」と名づけて、日々アプリの改善をしています。 今回はその中で行ったUITableViewやUICollectionViewのスクロール周りを滑らかにする改善についてやったことをご紹介したいと思います。 1. CALayerで角を丸くしている部分のパフォーマンスが悪い このようなカード型のViewが並んでいるCollectionViewがあったのですが、画像の角を丸くするのにCALayerで cornerRadius をつけているところのパフォーマンスがあまり良くないようでした。 これを次のようにCor
よくある横スワイプで移動できるタブデザイン。 Androidは標準のUIライブラリに含まれていますが、iOSの場合は自作かライブラリを使うかのどちらかになります。 アニメアプリのアニマネ!ではいくつかのライブラリを比較した結果、RMPScrollingMenuBarControllerを採用しました。 当時の状況ではベストだと思っていたのですが、新しくとても良いライブラリを見つけました。 Xmartlabsというウルグアイの会社が作っています。 Githubのスターが2,231件(2016年3月現在)とかなりの人気ライブラリです。 アニマネで実装した時に見つけていればこちらを採用していたのに。。。 軽く触っただけですがこのライブラリは凄いと思ったので紹介してみます。 XLPagerTabStripの特徴 Swift製 活発に開発されている安心感(2016年3月現在) 豊富な表示方法 既存の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く