私は業務でiOSとほぼ同じ量のAndroidのコードを書いたり読んだりしています。先日、iOSアプリ全体のアーキテクチャを考え直す際に、参考にしたのは実はAndroid(kotlin)のオープンソースプロジェクトでした。アーキテクチャの参考にしたオープンソースプロジェクトの概要とそのiOSへの転用について、また、iOS以外のプラットフォームの開発経験や情報収集が自身の軸となる仕事にどういった影響を及ぼしているかなどを語ろうと思います。
「家族アルバム みてね」は、徐々に国外にユーザーを拡大しています。常に海外での快適な利用が実現されることを意識して開発していますが、その中でもメディアを高速に配信し・閲覧できることは、最重要課題でした。どのように課題を認識・改善したかの知見をお話ししたいと思います。
アジェンダ
GraphQLを利用したiOSアプリケーションでUITestを実現する方法について説明します。
2017年8月にSwiftの生みの親、クリス・ラトナー氏によりプロポーザルasync/await for Swiftの下書きが公開され、その内容は、コルーチンサポートにより非同期処理を読み書きしやすく書けるようになることを意味しています。このトークでは、Swift 3から使えるasync/awaitライブラリHydraを使って、ライブでアプリを作っていくセッションです。参加者のみなさんはTwitterのハッシュタグでコメントをください!
2017年8月にSwiftの生みの親、クリス・ラトナー氏によってプロポーザルasync/await for Swiftの下書きが公開され、その内容は、コルーチンのサポートによって我々は非同期処理をより読み書きしやすいコードを書けることを意味しています。このトークは、Swift 3から使えるasync/awaitライブラリHydraの利用例とその内部実装を解説し、きたるべきSwift 5時代の非同期処理を先取りするトークとなります。
Firebase Remote ConfigのみでABテストをしたときの、
良かった事と感じた課題、
ベータ版のFirebase A/B Testingについて喋ります。
SwiftやObj-Cで開発されているiOS開発者のみなさんに向けて,Xamarin.iOS をつかったC#言語による開発の実際と,ここ1年で踏み抜いてきた地雷を共有します。またアドバンスドなトピックとして,なぜC#で開発できるようになるのか,また地雷がなぜ埋め込まれてしまうのかをXamarinのソースコードに踏み込んで解説します。
Swift化と言うと、普通objcからSwiftにコードを移植する作業そのものを指します。
しかし、実際には、コードを移植する作業に入る前に多くの障害が存在します。
ビジネスサイドを説得しプロジェクトを立ち上げ、状況にあった方針を決定する。
こういった段階が「Swift化」には最も重要で、最も困難です。
本セッションでは、コードを移植する段階はもちろん、その前段階まで、「Swift化」の助けになる知見を、一気通貫でご紹介します。
KyashのiOSアプリは今年アーキテクチャの見直しと大規模なリファクタリングを実施しました。KyashのiOSチームが巨大な既存アプリをどう変えていったのかを、実際にどのように効果があったかを交えてご紹介します。
内容(予定)
・アーキテクチャを見直す
・テストを書きやすくする
・非同期処理を書きやすくする
・Storyboardとの付き合い方を考える
・ビルドを高速化する
iOSエンジニア、Androidエンジニア、サーバーエンジニア・・・様々なタイプのエンジニアがおり、それぞれの領域を担当する開発体制が一般的だと思いますが、私がいる開発チームではスキルごとではなく、開発機能ごとに担当を割り振る体制を取っています。同じ機能は同じ人がiOS/Androidそれぞれに実装し、必要なAPIがあればサーバー側も実装する、というように。フィーチャーベースアサインについて、普段の業務で感じていることをお話します。
企業におけるデバイス管理手法の一つに、MDM(Mobile Device Management)を用いる方法があります。
昨年のiOSDCでもデバイス管理手法についてのトークがあり、MDMを触ってみたいという開発者の方も多いのではないでしょうか。
このLTではオープンソースのMDMであるmicromdmについて、micromdmを用いてデバイスの操作や情報取得するデモを交えながら紹介します。
皆さんは、どのようにして iOS アプリのアーキテクチャを決めていますか?過去の体験や世間の評判から決めているのではないでしょうか。
しかし、実はその選び方には落とし穴があるのです。この落とし穴を回避するために、何を重視し、そしてどこまでアーキテクチャに従うべきなのかについてお話しします。これを選ぶ指針について、ある実在のプロジェクトを例にお話しします。
3年前にQiitaで「UIScrollViewにおけるAutoLayoutについてまとめる」という記事を投稿しました。
今でも「いいね」がつき続ける、僕の投稿した中では一番の人気記事です。(といっても100ですが)
UIScrollViewをAutoLayoutで実装するのはかなりクセがあり、初心者のハマりポイントです。
なので、分かりやすくiOSDCで解説をしてみようと思います!
2017年12月1日朝起きたら,Zaim のせいでiPhoneがクラッシュすると Twitter 上で騒がれていました.
前回のリリースから多少は時間がたっていたし,そもそもアプリが iPhone をクラッシュさせるなんてできるの?
本当にZaimのせいだったのか,そもそも何が起こっていたのか.何が原因だったのか.
わかったこと,推測できたこと,喋っても問題なさそうなこと喋ります.
DebugHeadというライブラリを作って、公私問わず使っています。
デバッグ用に情報を画面に出したり、状態を変更したりしたいけど、そのための実装をするのは面倒くさい…。
そんなときのためのライブラリです。
例えばUserDefaultやRealm内の情報を表示したり、アプリ内のファイルをブラウズしたり、例えば接続先サーバーを切り替えたり…。
用途は無限大です!
創業2年の新潟のWeb会社に転職し、同時にアプリ事業を持ち込みました。社会人2年目のペーペーが転職と同時にアプリ文化を持ち込んだとき...いわゆる”不毛”と言われる環境下でのスタートでした。
その中でこっそり自社Webメディアを両OSアプリ化した話や、アプリ文化が無い会社組織との付き合い方、アプリに対する相場感やスキル難易度によるギャップなど、新潟のiOSエンジニアならではの苦悩を題材に地方アプリ市場の現状や未来についてお話しします。
近年、アプリの複雑化に伴ってiOS界隈でもテストの機運は高まっています。
しかしどんなテストをどうやって書いていけばいいかわからず、一歩を踏み出せない人も多いのではないでしょうか。
このトークでは、iOS開発でよく目にするロジックに対して、まず一歩目として、ユニットテストをどう入れていくかのサンプルを、コードとともに紹介していきます。
テスト技法やなぜそこにテストを書くのかなども紹介しようと思います。
近年、アプリの複雑化に伴ってiOS界隈でもテストの機運は高まっています。
しかしどんなテストをどうやって書いていけばいいかわからず、一歩を踏み出せない人も多いのではないでしょうか。
このトークでは、iOS開発でよく目にするロジックに対して、まず一歩目として、ユニットテストをどう入れていくかのサンプルを、コードとともに紹介していきます。
テスト技法やなぜそこにテストを書くのかなども紹介しようと思います。
近年、アプリの複雑化に伴ってiOS界隈でもテストの機運は高まっています。
しかしどんなテストをどうやって書いていけばいいかわからず、一歩を踏み出せない人も多いのではないでしょうか。
このトークでは、iOS開発でよく目にするロジックに対して、まず一歩目として、ユニットテストをどう入れていくかのサンプルを、コードとともに紹介していきます。
テスト技法やなぜそこにテストを書くのかなども紹介しようと思います。
仕事で4年以上運用が止まったアプリを任されることになりました。
・モデルクラスが存在しない
・誰も仕様を知らない巨大BaseViewController
・テストコードも無い
etc.
そんな時合わせて舞い込んできたフルリプレースの話
・POP
・アーキテクチャ選定
・テストコード
etc.
昔のあるあるを今のあるあるに変える、絶賛奔走中のフルリプレース備忘録をお話できたらと思います。