Swift Logo


#swtws

2017-07-22 21:00 JST

Swift Tweets は Twitter 上で開催される Swift に関する Meetup Tweetup です。発表者が Swift についてツイートで発表します。

詳細を見る

特徴


どこでも参加できる

Twitter にアクセスするだけで参加できます。

質問しやすい

順番を待たずに、 Twitter で気軽に質問できます。

直接ツイートできる

発表内容に直接リプライ・リツイートできます。

理解しやすい

発表中に内容を見返し、自分のペースで理解できます。

Q. ブログを読むのと何が違うの?どうして Twitter なの?

発表者・参加者が同じ時間に集まっていることで、質問や議論をリアルタイムに進めることができます。 Twitter とはいえ、普段面識のない人には話しかけるのは遠慮してしまいがちですが、同じ Swift Tweets の参加者なら相手もそのために時間を割いていることがわかるので、懇親会で話すかのように気軽に話しかけることができます。

発表者


@1024jp

@1024jp

余暇時間にせっせと開発をするホビー開発者。 macOS アプリケーション専門。 2014 年から CotEditor の開発を引き継いでいる。 OSS プロジェクト運営からコーディング、アイコンのデザインまで、 macOS のアプリケーション開発に関わることなら全部やるマンである。

@koher

@koher

Qoncept のエンジニア。小学 4 年生のときにゲームを作りたくてプログラミングを始める。そのときの経験を元に、 RPG を作りながらプログラミングを学ぶ SWIFT QUEST を開発中。 Qiita での Swift に関する投稿が人気。

@rintaro

@rintaro

Swift で開発したい Web エンジニア。なかなか仕事で Swift 書けないけどコンパイラの仕組みを勉強したいと思い、ソース見てたらいつの間にか PR 投げまくるようになって今に至る。オープンソース化前は Stack Overflow で遊んでた

@takasek

@takasek

フリーランスエンジニア、ほぼ FiNC 。 Swift のおかげで型と設計が好きになり、方々の勉強会に参加しては発表駆動学習を試みている👉 Qiita, SpeakerDeck 。イチオシの自作 OSS は、 target/action をクロージャに置き換える ActionClosurable

タイムテーブル


2017-07-22 (SAT)
21:00

オープニング

21:10

"CotEditor を Swift に移行する"

@1024jp

2004 年から脈々と受け継がれる総 Cocoa 製の macOS 用テキストエディタ CotEditor は、昨年 2016 年に Objective-C から Swift に 100% 移行しました。

Swift は魅力的な言語ですが、すでに Objective-C で 10 年超動いてるアプリケーションを誰に頼まれたわけでもないのにわざわざ Swift で書き直す意味は果たしてあるのでしょうか?

そこそこの規模の GUI アプリケーションを OSS 活動として実際にひとりで Swift に書き換えること、またコードが Swift になったことによる開発上の変化についてを、CotEditor の現開発者としてお話しします。

21:35

"実践Swiftコンパイラ"

@rintaro

この発表では、実際に Swift コンパイラのバグを修正し、プルリクエストを投げるまでの手続きを実践してみます。

Swift コンパイラがオープンソース化されて結構な時間が経ちますが、まだまだ実際にコントリビュートしている人は少ない様です。コンパイラは私たちがいつも使っている道具の核です。その道具をより良くしていく努力に理由など必要無いはず。

コンパイラは C++ で実装されていますが、バグを修正する程度の変更に C++ の知識はほとんど必要ありません。この発表によって少しでも「案外簡単な」コンパイラへのコントリビュートに興味をもっていただければと思います。

22:00

休憩

22:10

"Swiftに息づくstructural types"

@takasek

プログラミング言語の型システムは、その型の同定やサブタイピングの方法に注目したとき、 nominal type system / structural type system の二種類に区分することができます。 nominal type system においては型名の宣言が明示的に行われた場合にのみ同じ型あるいはサブタイプと見做されますが、 structural type system では型名はただのエイリアスです。

Swift は多くの型を nominal type として扱っています。以前発表した “What is a nominal type?” というスライドでは、 nominal type が意図しない型の同一視を防ぐために有用であることを示しました。

では反対に、 structural type として扱われている関数型やタプル型は、なぜ nominal ではないのでしょうか。それらの型の活用例や、そこから見えてくる nominal type system の弱点や限界について、 “型システム入門 −プログラミング言語と型の理論−” を参照しながら探ります。

22:35

"純粋値型Swift"

@koher

Swift は値型を中心とした言語です。この発表では、仮に参照型を使わずに値型だけを使った場合、 Swift でどれだけのことができるかを探ります。

Swift が登場した当初、僕は Swift が値型を中心としていることに戸惑いました。参照型でないとできないことは色々あるし、世の中は値型でも参照型に見せかける方向に動いていると思っていたからです。しかし、 Swift を使うにつれて、値型だけでできることは当初考えていたよりもずっと幅広いことがわかってきました。また、値型の特性を活かすことで、参照型では面倒なケースでコードを簡潔に保てることもわかってきました。

Swift が最も利用されている iOS アプリ開発では、 UIKit 等の Objective-C 由来の Framework に引っ張られて参照型中心のプログラミングになってしまうことが多いと思います。そのため、せっかく値型中心の言語なのに Swift で値型中心のプログラミングをするための知見は十分に広まっていないように思います。この発表を通して、多くの人に値型中心でプログラミングをすることに対して興味を持っていただければと思います。

23:00

クロージング

参加方法


下記ボタンから connpass で参加登録をお願い致します。 Twitter アカウントを使って登録可能です。当日は Twitter で #swtws のハッシュタグを御覧下さい。

リプライやメンションするときもできるだけ #swtws のハッシュタグをつけて下さい。 Swift Tweets の目的の一つとして、オフラインの懇親会のように気軽に交流できる場をオンラインでも作りたいということがあります。開催中は面識のない他の参加者からリプライやメンションされることをご了承下さい。参加者一覧についてはこちらを御覧下さい。

参加する

連絡先


Swift Tweets に関するお問い合わせは下記までお願い致します。