とりあえずやってみればいいじゃん

とりあえずやってみればいいじゃん

エンジニア関連のことについてつらつら書くブログ

3/31 Re:try! Swiftに参加してきました #re_try_swift

まだtry!Swiftの書き起こしが終わっていませんがRe:try! Swiftに参加してきました。

mokumoku-ios-at-next.connpass.com

UIを全部コードで描きたいというきもち@yukiasaiさん

  • コードでUIを全部書きたいという話
  • try!Swiftでの似た話
    • Write your App Swiftly
  • コードで書くことのPros
    • 色、間隔、サイズなどを共通化
      • 設定値が散らばらない
    • 静的解析
    • 変更箇所がわかりやすい
      • コードレビューの時にわかりやすい
  • コードで書くことのCons
    • レイアウト後のイメージを想像しづらい
    • コード読みづらい
      • 読みづらくなる場合もある
  • これの解決をどうしようかと悩んでいるのでそれについて
  • 読みづらさ
    • ネストするともっとツラい
    • コンテナviewの中に■△viewがあって。。。
  • Interface Builder
    • 左の階層構造表示は理にかなっている
    • これになるべくコードを近づけるようにする
  • Then
    • ネストによって階層構造を表現している
    • これを元に最強に書きやすくするためのライブラリを考えているところ
object.then {

}

iOSアプリとMVA@kumamotoneさん

資料が公開されているので補足だけメモ残しておきます。

  • アプリ作る前はクリーンアーキテクチャ!とか言う
    • 執着しすぎると逆にしんどい
    • 今のプロジェクトの合ったやり方しないと
  • MVVM
  • 肥大してきたらMVPかな
  • 結局チームで話し合うのがいい

SwiftのPointy Bits@ikz555さん

Swiftでポインタを使う機会がなく、試してみた

復習

  • safe/unsafe
    • 配列で存在しないキーを指定するとクラッシュするがそれがsafeなの?
    • クラッシュしない場合
      • 存在しないものを指定した後の動作は予期できない
      • クラッシュするのはある意味正しい挙動
      • Swiftは予期しない動作から守ってくれる
  • unsafepointer
    • 種類は4つ
    • 型付きかどうか、mutableかどうかで分類できる
  • ポインタの使いどころ
    • 2種類
      • CのAPIをインポートしたい
      • スピードを求めていきたい

試してみたこと

  • スピード
  • 誤用の例 imprisitconversion

  • スピード

    • ポインタを使った場合のバブルソート vs そうじゃないバブルソート
    • どれくらいスピードが違うか
    • 配列でランダムに数時を発生させて作る
      • ポインタの場合0.15秒
      • そうじゃない場合0.4秒
      • 1:2.5の比率
  • 誤用の例
    • クラスとストラクトを作ってその中でオブザーブドのプロパティ3種類を変える
    • その後結果を出力する
    • 実行すると(ここから先よく聞こえませんでした。。。)

MVAから考えた「Phases & Architecutres」@mafmoffさん

  • 開発フェーズとアーキテクチャについて
  • 最小限の実行可能なアーキテクチャの話がされていた
    • minimum:ある範囲の中での最小
    • minimal:とにかく最小
  • MVA
  • 具体的な説明がされたのはこれ
  • 3Phases
    • それぞれ適したアーキテクチャがあるよ
      • Search:できる限り安く、早くビジネスを
      • Execution:できるだけ安価で短期で顧客のニーズを満たす
      • Scaling:急速な成長をより大きくさせる
  • あとで後悔しないような設計はやりすぎなのではないか
  • 自分の経験に置き換えて考えた
    • 2,3ヶ月に1個アプリ開発していた
    • 受託
    • 大規模ではないが、設計について集中して考えられる時間がない
    • MVAは受託開発でも言えるのではないか
    • SearchとExecutionにあたるのではないか
    • 受託とは言え早く顧客に価値を提供することが必要
    • 受託もMVA必要だったんだ
  • オススメ受託アーキテクチャ
    • MVVM × ReactiveCocoa
    • MVVM × RXSwift
  • なぜMVVM
    • 複雑すぎない
    • ViewControllerの可読性UP
    • ViewModelが太りがち
      • 1つの画面で同じAPIを使う場合に重複するかも
  • Rx
    • Rx系の文献が豊富
  • クリーンアーキテクチャがすごく話題になってきている
  • アプリの開発が成熟してきてスケーリングの段階なのではないか
  • スタートアップの3フレーズで言うと一番下

try! Swiftのマスコットキャラクター「Riko」がどうやってできたか@yucovinさん

  • try!Swiftのキャラクター(Riko)を作成
    • 日本人以外のクライアント=英語でのやりとり
    • 「キャラクターを作りたい」
    • 「かわいいのがいい」
    • 「キティちゃんとか日本っぽいのがいい」
    • 「ミッキーもいいよね」
  • Swift
    • 速い、シャープなイメージでは??
  • 可愛い中にシャープなイメージがあるものにしようと思った
  • 忍者っぽいのとか歌舞伎っぽいのとか作ってみた
    • 却下される
  • 感覚が日本人ではないのでちょっと合わなかったり
  • 結果的にハッカソンでもRikoを使ったアプリが作られるなど人気に
  • この日本っぽいキャラはTokyoで使われているもの
    • 他の国は衣装が異なるキャラが使われる

英語のコミュニケーション@akio0911さん

try!Swift Tokyoには130人くらい海外の方が訪れた

今日話すこと

  • どんなキッカケでも仲良く慣れる
  • 日本を楽しんで行ってもらいたい
  • 英語の勉強法
  • カンファレンス当日

キッカケ

  • 平均的な日本人は学校で英語勉強するけど話せない人が多い
    • 話そうと思えば中学1,2年くらいの知識でなら言えるけど…
    • 怖い、効かれた時に怖いという思い
    • 話せないというよりは嫌だ
  • Swiftの話題を英語で話すのはレベル高いから他の話題でいい
  • 自分が英語でコミュニケーションを取るようになったきっかけ
    • 2016年にボランティアスタッフやっていた
    • ナターシャさんがネイルに対して「Great.」と言って話しかけてきた
      • Swiftのロゴを書いてもらっていた
    • 「どこで書いたの?」などと聞かれ、その後ちょくちょく話すように
  • 仲良くなったらコミュニケーションとろうとするものだなと思った
    • 英語でいきなりSwiftのこと話さなくてもいい
    • 日本の食好き?とかのレベルでいい

日本を楽しんでもらう

  • 去年ナターシャと会った時に来年ネイル案内してくれと言われた
  • 今年
    • ネイルの日程打ち合わせ
    • Rikoを書いてもらった
    • 太鼓の達人やった
    • 髪を染めてみた

カンファレンス当日

  • slack

    • 海外の人がいっぱい書いてた
    • 日本の観光、マリオカートのこととか
    • 来年は写真貼ってあげるだけでもいいので日本楽しんでもらえるようにするといいかも
  • スピーカーディナー

    • カラオケのあるお店に行った
    • 日本語の歌歌う人がいた
  • ハッカソン

  • 英語ができるようになってからやるではなくやるしかないんだなと思った

英語の勉強

  • 英語の成績が1ではなかったことがない
  • 多読のルール
    • 易しいレベルから読む
    • 辞書をひかないで読む
  • でもこれだと読めても話せない
    • 瞬間英作文トレーニングという本がいい ——————————————
    • 1ヶ月くらい立ったらそれなりに意思疎通ができるようになった
  • 英語でコミュニケーションできるとより楽しめるカンファレンス

Sequence & Collection@wa_kinchanさん

  • try!SwiftでのSequenceとCollectionの話
    • これら全然使ってないと思ったので調べてみた
  • Sequece,Collection
    • プロトコル
    • array, dictionary, string character viewがCollectionに準じている
    • Sequence
      • map, filterとかが使えるようになる
    • Collection
      • 添字でのアクセスが可能になる
  • Collectionに準拠した新しいものを作る
  • 汎用的なbagの作成
    • カウントを保持するようなものを作る
  • 型消去することによって依存を回避してシーケンスを作ることができる

MC からの View@jpmarthaさん

  • 当日司会を担当
    • 1日目:メガネ
      • 後ろがよく見えない
    • 2日目:コンタクト
      • 結局見えない
      • 最後の方目が開かなくなってくる
  • パンケーキmeetupは実際やった
  • 他の主催者と一緒にリモートワーク

    • 沖縄で実施
    • Wi-Fi通じないところだった
  • try!Swiftどうでしたか?

  • 日本にいるだけだとあまりできない交流ができたのではないか
  • 自分はtry!Swiftをきっかけに海外カンファレンスに興味を持った
    • 海外カンファレンス表を作った ——————————————————
    • 既存のほぼ同じものがあった——————————————————
  • 登壇
    • try!Swift、iOSConはCfP形式
    • 他は招待される場合が多い
    • 海外でもCfP受け付けているカンファレンスあるのでチャレンジしてみては
  • try!Swift New York
    • 9月————————————
    • 飛行機だと行きは12時間帰りは10時間
  • try!Swift バンガロール(インド)

    • 今年初開催
    • 11月15〜17日
  • まとめ

    • (めったに会わないけど)世界との繋がりができる
    • 国が違ってもやっていることは変わらない
    • 英語云々は気にしない方が良い
      • 下手でもいいから大きい声ではっきり言わないと伝わらない
  • おまけ
    • try!Swift New Yorkスポンサー募集
    • player!Meetup with IBM
      • Kituraの人に来てもらえる
      • スピーカー募集中
    • try!Swift2018やります

togetter

Re:try! Swift #re_try_swift - Togetterまとめ