SlideShare une entreprise Scribd logo
1  sur  20
それでも C# 使いたい
七瀬
dendai sie; Talk Live! 3
2014/06/29
自己紹介
• 山本 裕二郎
(HN: 七瀬 ともな)
• @nanasetomona
• 長野県出身
• 信州大学 大学院
理工学系研究科 修士1年
• C# をメインに使用
はじめに…
• 手書きで楽譜を生成するプログラムを研
究中
(C#+WPFを使用)
きっかけはShrimp
• 他人と相互作用のあるソフトウェアを作りたい
▫ これまではシンセサイザなど…
• Twitterクライアントは格好のテーマ
• Shrimpのソースを見ていくうちに制作願望が蓄
積
清楚なTwitterクライアントを作りました!
http://shrimp.ga/
@ulicknormanowen氏
どんなクライアント?
• あまりプログラミングしたくない(本音)
▫ 必要最低限のところだけ書いて、
ユーザが書けるところは全部投げてしまおう
▫ どのOSでも正常に動くようにしよう
▫ ましてや、プラグインのために
新言語開発なんて言語道断
• なによりも、
ユーザがインストールで躓かないようにしたい
もうすこし詳しく
• 付加的機能は全てプラグインとして提供
▫ 誰かがプラグインを書いてくれるはず
▫ 最低限動作に必要な機能/インターフェイスのみ提
供
• 描画の処理を書きたくない
▫ ブラウザを埋め込んでHTMLで表示すれば万事解
決
• クロスプラットフォームな言語で!
▫ 無論、プラグインもクロスプラットフォーム
描画(1)
• C# によるクロスプラットフォームな描画方法…
▫ WinForms
▫ GTK#
▫ Xwt
▫ (Qt)
▫ (HTML)
• どの道を選んでも追加インストール必須、
開発も面倒
▫ WinForms の WebBrowser は Windows でしか
きちんと動かない
描画(2)
• ローカルホストに Web サーバを建て、
ウェブブラウザ上で描画
▫ 通信が全て文字列ベース(JSONなど)
▫ ウェブブラウザによって動作が異なる場合に
妥協しなければならない
▫ TweetDeck と何が異なるのか?
▫ それなら Twitter web でいいのでは?
• もっと手軽に描画ができて、
なおかつ予期しない描画は避けたい
Java
「ななせったー」Nanasetter
• マルチプラットフォーム
• プラグインで機能拡張・スタイルの指定が可能
• マルチカラム、マルチアカウント指向
• 言語は Java 8
▫ 主な開発環境はIntelliJ IDEA 13.1
▫ 開発OSは Xubuntu 13.04 or Windows 8
▫ 使用ライブラリに Twitter4J、ControlsFX
• 進捗は...ダメです
▫ まだまだ開発中
Java + JavaFX
• Java ならどの OS でも普通に動く
• JavaFX の WebView が Webkit ベースで
しかもクロスプラットフォーム!
▫ JavaScript に Java のオブジェクトを渡せる
(逆ももちろん可能)
▫ jQuery が普通に動く
▫ プラグインは .js で記述でき、
スタイルは .css で記述できる
Java 8
• ラムダ式が書けるようになった
• Stream で LINQ のようなクエリ処理ができる
▫ C# の持ち味もいくらか Java で使える
• ジェネリクス(総称型)が慣れない
• プロパティが欲しい
• 型推論ェ…
JavaFX
• C# (.NET) でいう WPF
• FXML = XML + CSS
• まだまだ勉強中
(ここでは語りきれない or 語れない)
今やっていること
• プラグインの仕様記述
• ユーティリティクラスの作成
• IDEの使い方に慣れる
• Javaの勉強
• JavaFXの勉強
• Mavenの勉強
C#
それでも
使いたい
C# で足りなかったもの
• クロスプラットフォームな GUI 環境
そしてHTMLの描画
▫ System.Windows 名前空間からしてやる気なし
• でも C# にはいいところがたくさんある
▫ VisualStudio
▫ LINQ
▫ Java よりかは高速で、まだ整頓されている
▫ Xamarin 社の活躍
▫ LINQ
▫ LINQ etc...
まとめ
• JavaでTwitterクライアント作り始めた
▫ 最近Javaが熱い(私だけ?)
▫ JavaFXが結構便利そう
• ななせったー、進捗ダメです
• C# は使えなかったがいつでも鞍替えしたい
▫ 手軽にブラウザ埋め込めて、
JavaScript+DOM操作できるなら自作も・・・?
蛇足
蛇足
• もう少しで300日連続コントリビュート!
http://github.com/nanase
蛇足(2)
• 2年間のMicroプランが来年6月7日に終了
→Shrimpがめでたくパブリックリポジトリに!

Contenu connexe

Tendances

テーマ「Hokkaido.pmからのお知らせ」
テーマ「Hokkaido.pmからのお知らせ」テーマ「Hokkaido.pmからのお知らせ」
テーマ「Hokkaido.pmからのお知らせ」technocat
 
130409セミプロに駆逐されるプロの構図
130409セミプロに駆逐されるプロの構図130409セミプロに駆逐されるプロの構図
130409セミプロに駆逐されるプロの構図Tomohiko Suwa
 
「Microbit」で簡単プログラミング体験
「Microbit」で簡単プログラミング体験「Microbit」で簡単プログラミング体験
「Microbit」で簡単プログラミング体験はなずきん Hana
 
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…Masahito Zembutsu
 
テーマ別Git tips
テーマ別Git tipsテーマ別Git tips
テーマ別Git tipsIkuo Degawa
 

Tendances (6)

テーマ「Hokkaido.pmからのお知らせ」
テーマ「Hokkaido.pmからのお知らせ」テーマ「Hokkaido.pmからのお知らせ」
テーマ「Hokkaido.pmからのお知らせ」
 
130409セミプロに駆逐されるプロの構図
130409セミプロに駆逐されるプロの構図130409セミプロに駆逐されるプロの構図
130409セミプロに駆逐されるプロの構図
 
「Microbit」で簡単プログラミング体験
「Microbit」で簡単プログラミング体験「Microbit」で簡単プログラミング体験
「Microbit」で簡単プログラミング体験
 
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
【事前資料:NG版】非オタの彼女が俺の持ってる監視ツールに興味津々なんだが…
 
テーマ別Git tips
テーマ別Git tipsテーマ別Git tips
テーマ別Git tips
 
Swift Scriptingのすゝめ
Swift ScriptingのすゝめSwift Scriptingのすゝめ
Swift Scriptingのすゝめ
 

En vedette

Osc Nagoya2014 Linux MInt Japan まとめ
Osc Nagoya2014 Linux MInt Japan まとめ Osc Nagoya2014 Linux MInt Japan まとめ
Osc Nagoya2014 Linux MInt Japan まとめ Souichirou Ishikawa
 
講座Linux入門・デスクトップOSとしてのLinux
講座Linux入門・デスクトップOSとしてのLinux講座Linux入門・デスクトップOSとしてのLinux
講座Linux入門・デスクトップOSとしてのLinuxTokai University
 
文字コード入門 理論編 クイズ付き
文字コード入門 理論編 クイズ付き文字コード入門 理論編 クイズ付き
文字コード入門 理論編 クイズ付きTakao Baba
 
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1Fuminobu Takeyama
 
サーバーだけじゃない!Linux デスクトップを使い倒そう!その2
サーバーだけじゃない!Linux デスクトップを使い倒そう!その2サーバーだけじゃない!Linux デスクトップを使い倒そう!その2
サーバーだけじゃない!Linux デスクトップを使い倒そう!その2Fuminobu Takeyama
 
今時のチープなノートPC HP Stream 11でXubuntuを動かす
今時のチープなノートPC HP Stream 11でXubuntuを動かす今時のチープなノートPC HP Stream 11でXubuntuを動かす
今時のチープなノートPC HP Stream 11でXubuntuを動かすshimadah
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)Hiroshi Tokumaru
 
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LTいまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LTshimadah
 
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)Fuminobu Takeyama
 
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?Fuminobu Takeyama
 
Proposal of openSUSE.Asia Summit 2017
Proposal of openSUSE.Asia Summit 2017Proposal of openSUSE.Asia Summit 2017
Proposal of openSUSE.Asia Summit 2017Fuminobu Takeyama
 
20161106 osc-tokyo-lt-asia-summit
20161106 osc-tokyo-lt-asia-summit20161106 osc-tokyo-lt-asia-summit
20161106 osc-tokyo-lt-asia-summitFuminobu Takeyama
 
20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-lineFuminobu Takeyama
 
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2Fuminobu Takeyama
 
レスポンシブサイト制作に効く デザインTipsあれこれ
レスポンシブサイト制作に効く デザインTipsあれこれレスポンシブサイト制作に効く デザインTipsあれこれ
レスポンシブサイト制作に効く デザインTipsあれこれAkiko Kurono
 
UXとデザインまとめ by 上野学 - presentation from UX まとめ 2015
UXとデザインまとめ by 上野学 - presentation from UX まとめ 2015 UXとデザインまとめ by 上野学 - presentation from UX まとめ 2015
UXとデザインまとめ by 上野学 - presentation from UX まとめ 2015 Sociomedia
 
いいデザインのために組織の一人ひとりができること
いいデザインのために組織の一人ひとりができることいいデザインのために組織の一人ひとりができること
いいデザインのために組織の一人ひとりができることMasahiko Yoshikawa
 
Sketchで変わるワークフロー
Sketchで変わるワークフローSketchで変わるワークフロー
Sketchで変わるワークフローAsami Yamamoto
 

En vedette (20)

Linux mint 17.2 について
Linux mint 17.2 についてLinux mint 17.2 について
Linux mint 17.2 について
 
Linux Mint 17 (Qiana) 導入
Linux Mint 17 (Qiana) 導入Linux Mint 17 (Qiana) 導入
Linux Mint 17 (Qiana) 導入
 
Osc Nagoya2014 Linux MInt Japan まとめ
Osc Nagoya2014 Linux MInt Japan まとめ Osc Nagoya2014 Linux MInt Japan まとめ
Osc Nagoya2014 Linux MInt Japan まとめ
 
講座Linux入門・デスクトップOSとしてのLinux
講座Linux入門・デスクトップOSとしてのLinux講座Linux入門・デスクトップOSとしてのLinux
講座Linux入門・デスクトップOSとしてのLinux
 
文字コード入門 理論編 クイズ付き
文字コード入門 理論編 クイズ付き文字コード入門 理論編 クイズ付き
文字コード入門 理論編 クイズ付き
 
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
サーバーだけじゃない! Linux デスクトップを使い倒そう! その1
 
サーバーだけじゃない!Linux デスクトップを使い倒そう!その2
サーバーだけじゃない!Linux デスクトップを使い倒そう!その2サーバーだけじゃない!Linux デスクトップを使い倒そう!その2
サーバーだけじゃない!Linux デスクトップを使い倒そう!その2
 
今時のチープなノートPC HP Stream 11でXubuntuを動かす
今時のチープなノートPC HP Stream 11でXubuntuを動かす今時のチープなノートPC HP Stream 11でXubuntuを動かす
今時のチープなノートPC HP Stream 11でXubuntuを動かす
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
 
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LTいまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
 
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
今さら聞けない― Linuxコマンドラインツールテクニック (導入編)
 
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
バグ報告・翻訳・パッケージング・コード修正・広報活動などなど―OSS に貢献してみるには?
 
Proposal of openSUSE.Asia Summit 2017
Proposal of openSUSE.Asia Summit 2017Proposal of openSUSE.Asia Summit 2017
Proposal of openSUSE.Asia Summit 2017
 
20161106 osc-tokyo-lt-asia-summit
20161106 osc-tokyo-lt-asia-summit20161106 osc-tokyo-lt-asia-summit
20161106 osc-tokyo-lt-asia-summit
 
20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line20161106 osc-tokyo-command-line
20161106 osc-tokyo-command-line
 
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
 
レスポンシブサイト制作に効く デザインTipsあれこれ
レスポンシブサイト制作に効く デザインTipsあれこれレスポンシブサイト制作に効く デザインTipsあれこれ
レスポンシブサイト制作に効く デザインTipsあれこれ
 
UXとデザインまとめ by 上野学 - presentation from UX まとめ 2015
UXとデザインまとめ by 上野学 - presentation from UX まとめ 2015 UXとデザインまとめ by 上野学 - presentation from UX まとめ 2015
UXとデザインまとめ by 上野学 - presentation from UX まとめ 2015
 
いいデザインのために組織の一人ひとりができること
いいデザインのために組織の一人ひとりができることいいデザインのために組織の一人ひとりができること
いいデザインのために組織の一人ひとりができること
 
Sketchで変わるワークフロー
Sketchで変わるワークフローSketchで変わるワークフロー
Sketchで変わるワークフロー
 

Similaire à それでもC#使いたい

プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会nemumu
 
文系私立大学生でも、プログラマーになりたい!
文系私立大学生でも、プログラマーになりたい!文系私立大学生でも、プログラマーになりたい!
文系私立大学生でも、プログラマーになりたい!Kyoka Fujiike
 
普段こういうこと気にしながら、こんな風に作ってます。
普段こういうこと気にしながら、こんな風に作ってます。普段こういうこと気にしながら、こんな風に作ってます。
普段こういうこと気にしながら、こんな風に作ってます。c-mitsuba
 
岡山スマホアプリ開発もくもく会 #oso2016
岡山スマホアプリ開発もくもく会 #oso2016岡山スマホアプリ開発もくもく会 #oso2016
岡山スマホアプリ開発もくもく会 #oso2016Ikki Takahashi
 
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)Chihiro Tomita
 
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocppクロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocppKatsuya Shimizu
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたHiroshi Maekawa
 
非エンジニアな大学生が一人でSNSアプリを作った話
非エンジニアな大学生が一人でSNSアプリを作った話非エンジニアな大学生が一人でSNSアプリを作った話
非エンジニアな大学生が一人でSNSアプリを作った話Miyashita Hayato
 
N高等学校でやってるプログラミング
N高等学校でやってるプログラミングN高等学校でやってるプログラミング
N高等学校でやってるプログラミングYoshimura Soichiro
 
コンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おうコンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おうYu Tamura
 
LINEスタンプの作り方
LINEスタンプの作り方LINEスタンプの作り方
LINEスタンプの作り方Aoi Motomura
 
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnetC#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet将 高野
 
多人数iOSアプリ開発を考える
多人数iOSアプリ開発を考える多人数iOSアプリ開発を考える
多人数iOSアプリ開発を考えるsasaron 397
 
.NETで始めるプログラミング
.NETで始めるプログラミング.NETで始めるプログラミング
.NETで始めるプログラミングKatsuya Shimizu
 
人が神姫ん感(原文ママ)を感じるコンピュータ
人が神姫ん感(原文ママ)を感じるコンピュータ人が神姫ん感(原文ママ)を感じるコンピュータ
人が神姫ん感(原文ママ)を感じるコンピュータharu2036
 
Aiをアプリに取り込む!
Aiをアプリに取り込む!Aiをアプリに取り込む!
Aiをアプリに取り込む!史也 久米
 

Similaire à それでもC#使いたい (20)

プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
 
文系私立大学生でも、プログラマーになりたい!
文系私立大学生でも、プログラマーになりたい!文系私立大学生でも、プログラマーになりたい!
文系私立大学生でも、プログラマーになりたい!
 
普段こういうこと気にしながら、こんな風に作ってます。
普段こういうこと気にしながら、こんな風に作ってます。普段こういうこと気にしながら、こんな風に作ってます。
普段こういうこと気にしながら、こんな風に作ってます。
 
岡山スマホアプリ開発もくもく会 #oso2016
岡山スマホアプリ開発もくもく会 #oso2016岡山スマホアプリ開発もくもく会 #oso2016
岡山スマホアプリ開発もくもく会 #oso2016
 
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)
デザイナー×エンジニア ~ハッカソンからのつながり~(まにフェス)
 
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocppクロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
 
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみたC#erがF#に這い寄ってみた
C#erがF#に這い寄ってみた
 
C#への招待
C#への招待C#への招待
C#への招待
 
非エンジニアな大学生が一人でSNSアプリを作った話
非エンジニアな大学生が一人でSNSアプリを作った話非エンジニアな大学生が一人でSNSアプリを作った話
非エンジニアな大学生が一人でSNSアプリを作った話
 
N高等学校でやってるプログラミング
N高等学校でやってるプログラミングN高等学校でやってるプログラミング
N高等学校でやってるプログラミング
 
コンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おうコンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おう
 
LINEスタンプの作り方
LINEスタンプの作り方LINEスタンプの作り方
LINEスタンプの作り方
 
History of Xylph
History of XylphHistory of Xylph
History of Xylph
 
Koyomin Zの紹介
Koyomin Zの紹介Koyomin Zの紹介
Koyomin Zの紹介
 
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnetC#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet
 
Multi paradigm design
Multi paradigm designMulti paradigm design
Multi paradigm design
 
多人数iOSアプリ開発を考える
多人数iOSアプリ開発を考える多人数iOSアプリ開発を考える
多人数iOSアプリ開発を考える
 
.NETで始めるプログラミング
.NETで始めるプログラミング.NETで始めるプログラミング
.NETで始めるプログラミング
 
人が神姫ん感(原文ママ)を感じるコンピュータ
人が神姫ん感(原文ママ)を感じるコンピュータ人が神姫ん感(原文ママ)を感じるコンピュータ
人が神姫ん感(原文ママ)を感じるコンピュータ
 
Aiをアプリに取り込む!
Aiをアプリに取り込む!Aiをアプリに取り込む!
Aiをアプリに取り込む!
 

それでもC#使いたい