それでもc#使いたい

20
それでも C# 使いたい 七瀬 dendai sie; Talk Live! 3 2014/06/29

Upload: tomona-nanase

Post on 22-Jul-2015

278 views

Category:

Software


4 download

TRANSCRIPT

Page 1: それでもC#使いたい

それでもC#使いたい

七瀬

dendai sie; Talk Live! 32014/06/29

Page 2: それでもC#使いたい

自己紹介

•山本裕二郎(HN: 七瀬ともな)

• @nanasetomona

• 長野県出身

• 信州大学大学院理工学系研究科修士1年

• C# をメインに使用

Page 3: それでもC#使いたい

はじめに…

•手書きで楽譜を生成するプログラムを研究中(C#+WPFを使用)

Page 4: それでもC#使いたい

きっかけはShrimp

• 他人と相互作用のあるソフトウェアを作りたい▫ これまではシンセサイザなど…

• Twitterクライアントは格好のテーマ

• Shrimpのソースを見ていくうちに制作願望が蓄積

清楚なTwitterクライアントを作りました!http://shrimp.ga/

@ulicknormanowen氏

Page 5: それでもC#使いたい

どんなクライアント?

• あまりプログラミングしたくない(本音)

▫ 必要最低限のところだけ書いて、ユーザが書けるところは全部投げてしまおう

▫ どのOSでも正常に動くようにしよう

▫ ましてや、プラグインのために新言語開発なんて言語道断

• なによりも、ユーザがインストールで躓かないようにしたい

Page 6: それでもC#使いたい

もうすこし詳しく

• 付加的機能は全てプラグインとして提供

▫ 誰かがプラグインを書いてくれるはず

▫ 最低限動作に必要な機能/インターフェイスのみ提供

• 描画の処理を書きたくない

▫ ブラウザを埋め込んでHTMLで表示すれば万事解決

• クロスプラットフォームな言語で!

▫ 無論、プラグインもクロスプラットフォーム

Page 7: それでもC#使いたい

描画(1)

• C# によるクロスプラットフォームな描画方法…

▫ WinForms

▫ GTK#

▫ Xwt

▫ (Qt)

▫ (HTML)

• どの道を選んでも追加インストール必須、開発も面倒▫ WinForms の WebBrowser は Windows でしかきちんと動かない

Page 8: それでもC#使いたい

描画(2)

• ローカルホストに Web サーバを建て、ウェブブラウザ上で描画▫ 通信が全て文字列ベース(JSONなど)

▫ ウェブブラウザによって動作が異なる場合に妥協しなければならない

▫ TweetDeck と何が異なるのか?

▫ それなら Twitter web でいいのでは?

• もっと手軽に描画ができて、なおかつ予期しない描画は避けたい

Page 9: それでもC#使いたい

Java

Page 10: それでもC#使いたい

「ななせったー」Nanasetter

• マルチプラットフォーム

• プラグインで機能拡張・スタイルの指定が可能

• マルチカラム、マルチアカウント指向

• 言語は Java 8

▫ 主な開発環境はIntelliJ IDEA 13.1

▫ 開発OSは Xubuntu 13.04 or Windows 8

▫ 使用ライブラリに Twitter4J、ControlsFX

• 進捗は...ダメです▫ まだまだ開発中

Page 11: それでもC#使いたい

Java + JavaFX

• Java ならどの OS でも普通に動く

• JavaFX の WebView が Webkit ベースでしかもクロスプラットフォーム!

▫ JavaScript に Java のオブジェクトを渡せる(逆ももちろん可能)

▫ jQuery が普通に動く

▫ プラグインは .js で記述でき、スタイルは .css で記述できる

Page 12: それでもC#使いたい

Java 8

• ラムダ式が書けるようになった

• Stream で LINQ のようなクエリ処理ができる▫ C# の持ち味もいくらか Java で使える

• ジェネリクス(総称型)が慣れない

• プロパティが欲しい

• 型推論ェ…

Page 13: それでもC#使いたい

JavaFX

• C# (.NET) でいう WPF

• FXML = XML + CSS

• まだまだ勉強中(ここでは語りきれない or 語れない)

Page 14: それでもC#使いたい

今やっていること

• プラグインの仕様記述

• ユーティリティクラスの作成

• IDEの使い方に慣れる

• Javaの勉強

• JavaFXの勉強

• Mavenの勉強

Page 15: それでもC#使いたい

C#それでも

使いたい

Page 16: それでもC#使いたい

C# で足りなかったもの

• クロスプラットフォームな GUI 環境そしてHTMLの描画▫ System.Windows 名前空間からしてやる気なし

• でも C# にはいいところがたくさんある▫ VisualStudio

▫ LINQ

▫ Java よりかは高速で、まだ整頓されている

▫ Xamarin 社の活躍

▫ LINQ

▫ LINQ etc...

Page 17: それでもC#使いたい

まとめ

• JavaでTwitterクライアント作り始めた▫ 最近Javaが熱い(私だけ?)

▫ JavaFXが結構便利そう

• ななせったー、進捗ダメです

• C# は使えなかったがいつでも鞍替えしたい▫ 手軽にブラウザ埋め込めて、

JavaScript+DOM操作できるなら自作も・・・?

Page 18: それでもC#使いたい

蛇足

Page 19: それでもC#使いたい

蛇足

• もう少しで300日連続コントリビュート!

http://github.com/nanase

Page 20: それでもC#使いたい

蛇足(2)

• 2年間のMicroプランが来年6月7日に終了

→Shrimpがめでたくパブリックリポジトリに!