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

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

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

7/31 集まれSwift好き!Swift愛好会 vol9に参加してきました

Swift愛好会のイベントに参加してきたのでレポートを書きます。

love-swift.connpass.com

もくもくタイム

まずは乾杯してからもくもくタイムです。お昼すぎですが、乾杯してもくもくです。

ハンズオンセミナー

もくもくタイムと並行して初心者のためのハンズオンセミナーが行われていました。とても楽しそうで何よりでした。

談義

Measurement And Unitを試した話 utwangさん

 

  • 自己紹介
    • ドライブ代の割り勘アプリをリリース
    • Rails、Swiftのもくもく会を開催している
  • モチベーション
    • 個人で作ったアプリの英語対応
    • 全部ローカライズ対応するのは大変
  • Measurementとは
  • 何ができるか?
    • ある軽量の単位を別の単位へ変換できる
    • localeに合わせて適切な単位をフォーマット
    • カスタムの単位、計量を作成できる
  • 使い方1
    • 量と単位を1つのインスタンスとして管理・コンバート
    • 基準となる単位を元に変換
  • 使い方2
    • カスタムの単位を作成できる
    • 日本では燃料はkm/Lで表すのが普通だが、プリセットにはそれがないので作成する
  • 使い方3
    • localeに合わせた単位を変更
    • locale情報を持つMeasurementFormatterが用意されている
  • Measurementを構成するクラス
    • Measurement(計量)、Unit(単位)等
  • 使ってみての感想
    • 使いドコロ
      • ある単位の計量を別の単位で表示したい場合
      • 地域で単位を切り替えたい場合
    • 使いドコロではないところ
      • 為替などは複雑なのであまり向かない
  • おまけ
    • 単位の書き方は国際的に決められており、数値の後に半角1マス空ける

Measurementについては以前私が参加したWWDC16. Meetupでも紹介されている人がいました。多言語対応をするにあたってMeasurementは欠かせない存在になりそうですね。

CocoaPods/Carthage/SwiftPM kohei_tabataさん

  • 自己紹介
  • 背景
    • 関わっているプロジェクトが多い
    • コード再利用したい、コピペしたくない
    • Swfit3リリース前にいいかんじの方法を考えたい
  • ライブラリ管理の変遷
    • before CocoaPods
    • CocoaPods登場
      • CocoaPodsの独壇場に
    • Carthage登場
      • 感度高い人たちが試し始める
    • SwiftPackageManager coming soon...
  • git submodule
    • 言語、OSバージョンによる制約なし
    • 手動でプロジェクトに追加
    • 制約が少ないが、手作業のため導入、削除、ミス防止が大変
    • submodule対応でライブラリ公開しても利用してくれないかも
  • CocoaPods
    • Objective-C / Swiftのライブラリが対象
    • iOS4以上(Swift使う場合は8以上)で利用可
    • Podfileに書けばライブラリのimportができるので楽
    • ビルド時間は長くなりがち
    • ライブラリ公開したらツイートしてくれる
    • ライブラリ登録申請時に用意するものが多い
  • Carthage
    • Objective-C / Swiftのライブラリが対象
    • iOS8以上で利用可
    • ビルド時間を短縮できる
    • CocoaPodsより対応ライブラリが少ない
    • 導入しているところがまだ少ないのでライブラリ作っても広まりにくいかも
  • Swift Package Manager
    • Apple公式
    • Swiftライブラリのみが対象
    • Swift3から利用可
    • 対応ライブラリがメジャーなもののみ
    • CocoaPods以上に面倒
  • 個人的所感
    • ビルド短縮のためにCarthageが使われていきそう
    • 現時点ではSwiftPMを使うメリットが見いだせない

SwiftPMが出ることを知りませんでした。。。Carthageは便利だし使ってますがまだCocoaPodsまでしか対応していないライブラリがあるのでCarthage一択になるのはまだ遠そうですね。どんどん対応ライブラリが増えてほしい。。。

Swift3.0で変わったところ es_kumagaiさん

www.slideshare.net

すいません、スライドが90枚を越えていて、勉強会でも談義前半→乾杯、ピザタイム→談義後半という長丁場での発表だったので、主に発表していた部分を拾いつつざっくりとまとめます。

  • 自己紹介
    • 勉強会を2つ主催している
    • カジュアルSwift勉強会
      • Swiftについて語らえる場所
      • 談笑しながら楽しく学びを深める
    • 心構え
      • みんな正しい(戦争が起こらないように)
      • みんな知ってるは思い込み
  • Swift 3
    • 2016年の後半にリリース
    • Swift2からの破壊的な仕様変更
  • Swift3の目標
    • Swift言語を確定、熟成させる
    • Swift3以降でのコースコードの互換性を目指す(努力目標)
    • 一定期間は警告、それ以降はエラーという手法
    • 今のうちに変えようということでかなり変わっている
  • Swift3要点
  • Swift3着地点
    • 言語の安定化を図り、他環境への移植性を見据える
  • Swift3で変わったところ
    • 戻り値を使わないと警告に
      • →メソッド定義の負担がかなり軽減されそう
    • 小数点数プロトコル
    • Foundationの値型
      • →参照型と値型をブリッジで運用するのが好み
    • イテレーターでのnil保証
      • →方針として例外が除かれたのは嬉しい
    • BooleanTypeプロトコルの廃止
    • メンバー参照で使える予約語
      • →ほとんどの予約語が普通に使えて嬉しい

まだまだ続くのですがあとはスライドを直接見てください。

Swift3では本当にいろいろなことが変わるみたいですね。どこまでXcodeの機能で2系から3系に置き換えられるのか、その精度はいかがなものかも気になってきますね(まぁ結局手動による部分が出てくると思いますが)。特にメソッド名なんかは手動で頑張って対応するしかないんでしょうね。。。

togetter

2016/07/31(日) 集まれSwift好き!Swift愛好会 vol9 #love_swift - Togetterまとめ