Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kentaro Yoshida LL言語でGUIアプリケーション PHP+WinBinder...
Search
Kentaro Yoshida
September 01, 2011
Technology
210
0
Share
Kentaro Yoshida LL言語でGUIアプリケーション PHP+WinBinder編 2011/09/01
GUIアプリケーションをPHPで作成できるWinBinderを利用したデモンストレーションです。
Kentaro Yoshida
September 01, 2011
More Decks by Kentaro Yoshida
See All by Kentaro Yoshida
2026-02-25 Tokyo dbt meetup プロダクトと融合したCI/CD で実現する、堅牢なデータパイプラインの作り方
y_ken
0
260
2026-02-16 Thoughtspot meetup : 数百社のマルチテナントOrg×専用Datasetで実現する「エンタープライズ品質」のBIダッシュボード基盤構築
y_ken
0
120
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
500
2025-02-21 Tokyo dbt Meetup#12 Google Cloudではじめるdbt python model
y_ken
0
110
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
y_ken
0
12k
Nginxのお話 画像配信・APIキャッシュ利用事例 2011/11/11 Webサーバ勉強会
y_ken
0
580
Other Decks in Technology
See All in Technology
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
5
13k
インフラを Excel 管理していた組織が 3 ヶ月で IaC 化されるまで
geekplus_tech
3
180
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
25
8.2k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
Digitization部 紹介資料
sansan33
PRO
1
7.2k
チームで育てるAI自走環境_20260409
fuktig
0
1k
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
570
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
🀄️ on swiftc
giginet
PRO
0
320
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
300
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
270
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
4
310
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
The Curse of the Amulet
leimatthew05
1
11k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
97
Everyday Curiosity
cassininazir
0
190
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Unsuck your backbone
ammeep
672
58k
Marketing to machines
jonoalderson
1
5.1k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
93
Transcript
LLݴޠͰGUIΞϓϦ 2011/09/01 Lightweight Language GUI Application Kentaro Yoshida
త LLݴޠͰखܰʹGUIΞϓϦ͕࡞ΕΔ͔ͷ࣮ূ ʲܰྔϓϩάϥϛϯάݴޠʳLightweight Language PerlɺPythonɺPHPɺRubyͳͲͷίϯύΠϧෆཁͳεΫ ϦϓτݴޠΛࢦ͢ɻଏʹɺLLݴޠͱݴΘΕΔɻ
GUIͷϝϦοτ αʔόෆཁ ڥΛબͳ͍ ΦϑϥΠϯͰ͑Δ
ݴޠબఆ ଞͷΩʔϫʔυ: python guiϓϩάϥϛϯά python gui windows python guiΞϓϦ python
gui tkinter python guiൺֱ ͯ͢ ը૾ ಈը ͓ͬ͞ΜʹͰ͖ͨʂ PythonʹΑΔGUIϓϩάϥϛϯά ! " Google Python GUI Python GUI ݕࡧΦϓγϣϯ 22,300,000 ݅ ʢ0.19 ඵʣ Σϒ ը૾ ಈը ਤ χϡʔε γϣοϐϯά Gmail ͬͱݟΔ " Google PHP GUI PHP GUI ݕࡧΦϓγϣϯ 42,400,000 ݅ ʢ0.06 ඵʣ Σϒ ը૾ ಈը ਤ χϡʔε γϣοϐϯά Gmail ͬͱݟΔ ଞͷΩʔϫʔυ: ruby guiϓϩάϥϛϯά ruby guiೖ ruby guiൺֱ ruby gui tk ͯ͢ ը૾ ಈը χϡʔε γϣοϐϯά ͬͱݟΔ ౦ژौ୩۠ jp.rubyist.net/magazine/?0001-RubyGUI - Ωϟογϡ 20056݄11 – Ruby ͷϥΠϒϥϦͱ͍͑ɺRAA ͕ͩɺ Library/GUI ΛݟΔͱɺ2004-8-29 ݱࡏɺ31 ͷϓϩδΣΫτ͕ొ͞ Ε͍ͯΔɻ ͜ͷதʹɺRAA:fxirb ͷΑ͏ʹ FXRuby ༻ʹ֦ுͨ͠ IRB ͱ͍ͬͨ७ਮͳ GUI ϥΠϒϥϦͱݺͳ͍ͷؚ·Εͯ ... Ruby/Tk - Ruby-GNOME2 - QTRuby - FXRuby Ruby de GUI - ຊRubyͷձ - Rubyist.net " # Google Ruby GUI Ruby GUI ݕࡧΦϓγϣϯ 16,900,000 ݅ ʢ0.11 ඵʣ Σϒ ը૾ ಈը ਤ χϡʔε γϣοϐϯά Gmail ͬͱݟΔ ଞͷΩʔϫʔυ: perl guiϓϩάϥϛϯά perl gui windows ͯ͢ ը૾ ಈը χϡʔε γϣοϐϯά blog.remora.cx › Windows - Ωϟογϡ 20103݄28 – Windows + PerlͰGUIΞϓϦΛ࡞Δखஈ͍͔ͭ͘ ͋Δ͕ɺҰ൪खࠒͰ... ʲPerlʳWin32::GUI::LoftͰGUIϓϩάϥϛϯά - blog.remora.cx ! " Google Perl GUI Perl GUI ݕࡧΦϓγϣϯ 19,600,000 ݅ ʢ0.23 ඵʣ Σϒ ը૾ ಈը ਤ χϡʔε γϣοϐϯά Gmail ͬͱݟΔ
खஈ PHP-Qt PHP-gtk WinBinder
Πϯετʔϧ ը૾ఏڙ: http://pc.casey.jp/archives/2751
࣮ફೖฤ Οϯυੜ Ϙλϯઃஔ Ϙλϯ͕ԡ͞ΕΔͱɺ ϝοηʔδμΠΞϩάΛग़͢
<?php include "c:¥winbinder¥phpcode¥include¥winbinder.php"; $mainwin = wb_create_window(NULL, AppWindow, "Α͏ͦ͜ʂ", 300, 200);
wb_create_control($mainwin, PushButton, "͜͜Λԡ͢", 110, 80, 80, 40, 1); wb_set_handler($mainwin, "process_main"); wb_main_loop(); function process_main($window, $id) { switch ($id) { case 1: wb_message_box($window, "Hello World"); break; case IDCLOSE: wb_destroy_window($window); break; } } ?>
ར༻ՄೳͳΠϯλʔϑΣʔε
ಈ࡞ݪཧ php͔Βextension (php_winbinding.dll) ܦ༝ͰWindows GDIΛૢ࡞ ͜ͷ෦Λ੍ޚ
࣮ફฤ csvͷॏෳߦΛআͯ͠ग़ྗ͢Δͷ ػछґଘจࣈΛऔΓআ͍ͨϑΝΠϧΛੜ͢Δͷ APIͷ࣮ߦ݁ՌΛදࣔ͢Δςετπʔϧ ύεϫʔυੜػ
࣮ԋ
݁ ҙ֎ͱ؆୯ʹ࡞Δ͜ͱ͕ग़དྷΔ طଘͷPHPίʔυΛ࠶ར༻ͯ͠࡞Γ͍ͨ࣌ʹ͍͍͔ ։ൃ͕ͬͯΔ͜ͱ͋Γɺۀ༻ͱͯ͠ෆ҆ ݩʑPHP4༻ʹ࡞ΒΕ͍ͯΔͷͰglobalએݴΛ͏ඞཁ͕͋Δ… ϗϏʔ༻్ʹ͓קΊͰ͢ʂʂ ͍ํ࣍ୈʂ
༨ஊ Rubyͷ߹ ShoesRubyͷGUIπʔϧΩοτͰɺ؆୯ͳίʔυهड़Ͱ GUIΞϓϦέʔγϣϯΛ։ൃͰ͖Δͷ͕ಛɻ ྫ͑ɺҰߦͰӈهϓϩάϥϜ͕هड़Ͱ͖Δɻ Shoes.app { button("Click me!") {
alert("Good job.") } } ࣌OSຖͷόΠφϦͰͳ͘ɺFlashͷΑ͏ʹ ࣮ߦՄೳͳϑΝΠϧΛShoesڥͰ࣮ߦ͢ΔܗࣜΛऔΓ·͢