PHPでスマホアプリが 作れるらしい

>100 Views

August 29, 26

スライド概要

SAPPORO ENGINEER BASE #16 モバイル開発 で登壇したスライド

profile-image

PHPをメインにサービス開発しているプログラマー

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

PHPでスマホアプリが 作れるらしい SAPPORO ENGINEER BASE #16 モバイル開発

2.

今日の話 PHPで、スマホアプリが 作れるように なった なぜすごいのかは、PHPがどういう言語なのかを知らないと伝わらない。まずそ こから。

3.

なぜすごいのか

4.

PHPは、Webサイトの裏側で動く言語 1995 WordPress Laravel 誕生した年 中身はPHP 今日いちばん使われている道具

5.

PHPは、ずっと向こう側にいる言語だった HERE 手元 ブラウザだけ THERE ← 向こう側(サーバー) PHPはここで動く

6.

アプリは、プログラムがスマホの中に入っている だからインストールが必要で、圏外でも動き、カメラや位置情報も触れる。

7.

PHPは、スマホの中には入れない PHP iPhone Swift Android Kotlin 向こう側の言語 両方まとめて Flutter / React Native どれもPHPではない。

8.

PHPそのものを、アプリの中に 丸ごと入れ てしまった HERE 手元(アプリの中) アプリ自身がPHPを実行する THERE ← サーバー もう要らない/圏外でも動く

9.

“I think it’s super cool... it’s just wild” Taylor Otwell Laravel の作者

10.

本物のボタンやリストが、そのまま出てくる Webっぽい見た目ではなく、iPhoneやAndroidが持っている部品がそのまま表示 される。ブラウザを画面に埋め込む方式(WebView)を使わない。

11.

遅くも、重くもない 240fps+ < 50MB PHP 8.4 画面の描画速度 アプリのサイズ(1ファイル) アプリの中で動くPHP

12.

どう動いているのか

13.

Swift/Kotlinのシェルの中に、PHPが同梱されている シェルアプリ(Swift / Kotlin)= ひとつのプロセス SwiftUI / Jetpack Compose 本物のネイティブビュー ↕ メモリ共有(HTTPなし) libphp(埋め込み PHP) Laravel も Blade もそのまま動く サーバーもネットワークも介さず、PHP が直接ネイティブ UI を動かす

14.

WebViewはよくできている。それでもユーザーには分 かる スクロールの物理、テキスト描画、画面遷移、コンテキストメニュー、ダークモード、文字サ イズ設定、スクリーンリーダー。ブラウザでは近似、OS純正なら標準装備。 v4ではネイティブUIが既定。WebViewは1つのコンポーネントとして残り、画面単位で移行でき る。

15.

SuperNative / EDGE 書くのはBladeのまま EDGE(Element Definition and Generation Engine)のBladeタグに、Tailwind風のユーティ リティクラスを当てて画面を組む。 <native:button class="justify-center"> スタイルを当てた <div> ではなく、そのOSの他のアプリと同じボタン。

16.

Bladeの出力先が、HTMLからバイト配列に差し替 わった Bladeコンポーネント → 固定長のバイト配列 HTMLではない ネイティブ側で解釈 → トランスパイラでもHTML→ネイティブ変換でもなく、独自のBladeエンジン。 SwiftUI / Composeのビューツ リー

17.

境界で通行料を払わない よくある方式 NativePHP JSONにして ブリッジを渡す 同じメモリを 共有している 更新ごとに毎回 ホップもブリッジ呼び出しもない

18.

触るのは3行 composer install php artisan native:install php artisan native:run デモアプリ:nativephp/super-native

19.

まとめ PHPしか書けなくても、 スマホアプリが作れ る WebViewの上のごまかしではなく、Bladeの出力先を差し替えて、OS純正のUIをPHPから直 接組み立てている。