Androidスマホ・タブレットでPHP開発をする4つの方法

目次

  1. 背景
  2. 1.レンタルサーバのWebエディタを使う
    1. 良かったところ
    2. 悪かったところ
  3. 2.エディタアプリ+FTP
    1. 良い点
    2. 悪い点
  4. 余談 レンタルサーバー
  5. 3.Vim+FTP
    1. 補足 Termuxのダウンロード
    2. 良い点
    3. 悪い点
  6. 4.ローカルにLAMPを構築する
    1. 良い点
    2. 悪い点
  7. 番外編 ローカルにLAMPを構築する+SSH or FTP接続
  8. スマホ開発の限界
    1. 画面サイズ
    2. キーボード
      1. ソフトウェアキーボード
      2. 外付けキーボード
    3. IDEが使えない
    4. Chromeの開発者オプションが使えない
  9. まとめ
  10. 関連記事

背景

こんにちは。 かりんとうマニア(@karintozuki)です。
スマートフォンでPHP開発はできるのかなーと
思ったことはありませんか?

通勤時間とかにサクッと開発できたら楽しいですよね。

今回はそんなAndroid上で開発する方法を4つ、
筆者が実際に環境構築をして試してみました。
それぞれの長所・短所を紹介していきます。

PHPと書いてますが、PHP以外の言語で使える方法もあるので、
適当に読み替えて読んでください。

それでは、Androidで開発する方法を紹介します。

1.レンタルサーバのWebエディタを使う

この方法は主にPHPのみになってしまいますが、
ほかの言語でも似たようなことはできるかもしれません。

筆者は、こちらのレンタルサーバーを使ってPHPが動く環境を用意しました。
https://www.000webhost.com/
(英語のみなので注意)

※筆者は無料でPHP環境が作れるということでこのサービスを選びましたが、
ほとんどのレンタルサーバーで同じことができるはずです。

レンタルサーバではブラウザからサーバ上のファイルを編集することが可能です。

つまり、スマホからブラウザでファイルを編集することによって
PHPプログラミングが可能になります。

良かったところ

アプリなどをなにもダウンロードせずにサクッとできるのが良かったです。
とりあえずPHPを試してみたい、という人はいいかもしれません。

悪かったところ

さすがにエディタが使いづらかったです。
特にスマホだと横幅が狭くコードがやたら改行してしまうので、
ちょっときついです。

2.エディタアプリ+FTP

この方法では、以下の三つのステップを踏みます。

  • ローカルにファイルを保持し、
  • エディタアプリで編集して
  • FTPアプリでサーバーにアップロードする

良い点

エディタに好きなアプリを選べるのは良いと思います。
ただ、スマホ向けのエディタにそんなに良いのがないみたいですね。。。

こちらのエディタがほかのものに比べるとまあまあいい感じでした。
https://ziracms.github.io/editor/en/index.html

悪い点

ほかのアプリを開くたびにFTPアプリのコネクションが切れてしまい、
いちいち再接続するのが苦痛でした。
多分アプリの問題なのですが、それが解決するなら
割とこの方法もありかもしれません。

余談 レンタルサーバー

PHPの開発者ならいつでもアクセスできるPHPの実行環境を持っていると便利ですよね。

レンタルサーバーを借りていればFTPでつなげる開発環境を常時持つことができます。
なのでPHP開発者ならサーバーの一つや二つ契約しておいても損はないと思います。

お名前ドットコムならPHPが使えるレンタルサーバーとドメインが同時に取得できて便利です。


3.Vim+FTP

VimにはFTP越しにフォルダを開いてファイルを編集する機能があるので、
こちらを使う方法です。
もちろんVimでなくてもFTPを利用してファイルを編集できるエディタなら何でもOKです。

手順としては、まずTermuxやUserLAndといったターミナルエミュレータアプリで
Vimを使えるようにします。
そしてVimの機能でFTPフォルダを開けばOKです。

補足 Termuxのダウンロード

Vimを使う際にはTermuxというアプリを使うのが簡単でおすすめです。

そのTermuxはGoogle Playにもあるのですが、そちらは最新版ではありません。
なのでF Droidというアプリをダウンロードする必要があります。
細かい説明は省きますが、これはオープンソース、無広告のアプリのみを扱うアプリストアです。

Termuxを使用する際はFDroidから最新版をダウンロードしてください。
https://f-droid.org/en/packages/com.termux/

お好きなエミュレータアプリでVimをインストールしたら以下のコマンドを実行してください。

1
:e ftp://user@domain.com/

最後のスラッシュを必ずつけるようにしてください。
うまくいけばFTPサーバーのルートフォルダがnetrwで開かれるはずです。

良い点

Vimで直接ファイルを編集できるため、
エディタアプリとFTPアプリを行き来する必要がなくなるのがうれしいです。

悪い点

FTP越しにファイルを編集するので、ちょっと動作がもっさりしていました。
無料の低スペックサーバーだからなのかもしれないけど、
ローカルのファイル編集に比べると明らかに遅かったです。

4.ローカルにLAMPを構築する

これはアプリでどうのこうのするよりも、
AndroidをLinuxマシンだと考えてLAMPを構築したほうがいいのではないかという考えですね。

これが意外とあっさりできます。

詳細な手順はここでは説明しませんが、アプリをインストールして
普通にApache、PHP、MySQLとVimなどのエディタをインストールするだけです。
それだけでhttp:localhost/で接続できるローカルPHP開発環境ができます。

これを実現できるアプリは以下のようなものがあります。

  • Termux
  • UserLAnd
  • Linux Deploy (root化した端末のみ)

このうちTermuxとUserLAndでは
root化する必要がないのでお勧めです。

良い点

Linux PCと同じ開発環境が用意できるのが良いです。
ローカルのファイルを編集するので、サーバー上のファイルを編集する方法に比べて速度も出ます。

悪い点

ほかの方法に比べて開発環境の構築に時間がかかります。
ぶっちゃけちょっとめんどくさいです。
が、それを楽しいと思う人も一定数いると思います笑

また基本的にCLI環境での開発になるため
Linuxの知識が必須です。

GUI化する方法もありますが、個人的にはそこまでする必要はあるのか。。。って印象です。

番外編 ローカルにLAMPを構築する+SSH or FTP接続

先ほどの環境にPCから接続してしまう方法です。

なんというかチートですね。
もはやPCで開発しているのと同じです。

もうPCで開発すればいいのでは?という気もしますが、
これはこれでスマホで開発サーバを構築した、みたいな形になるので
楽しいものではあります。

スマホ開発の限界

ここで筆者が実際に開発してみて感じた限界を紹介します。

画面サイズ

画面サイズは開発効率に結構クリティカルです。
Androidスマホを試した後にタブレットでも試してみたのですが、
タブレットのほうが圧倒的に楽でした。
コードの行数が多くなるほど画面サイズの差は効いてくると思います。

キーボード

PCであれば、普通にキーボードを使えばいいのですが、
スマホの場合、特に記号の入力がかなりつらいです。

ただこれは専用のキーボードアプリをダウンロードするか外付けキーボードを使うことで解決します。

ソフトウェアキーボード

ハッカーキーボードがおすすめです。
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard

プログラミングによく使う記号がすぐ打てるので使いやすいです。

外付けキーボード

普通に外付けでキーボードを利用するのもおすすめです。
筆者はBluetoothキーボードを使って開発してましたが、
ソフトウェアキーボードに比べると100倍入力が楽でした。

ただ、外付けキーボードを使ったら使ったで、
今度は画面タップが少しめんどくさくなります。
一度やってみるとわかると思うのですが、
キーボードと画面タップの手の往復が
キーボード・マウスのそれに比べるとけっこう面倒くさいです。

IDEが使えない

やはりVS CodeなどのPC用IDEの開発に慣れてしまうと
エディタアプリやVimでの開発に不便を感じてしまいます。
(Vimガチ勢の方には怒られるかもしれませんが、)

また、X Debugなどのツールが使えないのが痛かったです。

Vimを極めることで改善される気はしています。

Chromeの開発者オプションが使えない

スマホ版のChromeでは開発者オプションが見られません。

これはフロントエンド的に致命的でした。
JSやCSSを使うときにちょっとエラーが出るときついです。
体感ですが、バグの原因特定に誇張抜きで10倍くらい時間がかかりました。

以上がスマホ開発をしていて限界を感じた部分でした。

まとめ

以上いろいろな方法を紹介してきました。
本格的な開発はできないかもしれませんが、
小さなプログラムを動かすくらいなら全然問題ないと感じました。

何よりスマホという小さな筐体のなかでプログラミングをするのは
ロマンがありますね。(私だけかもしれませんが)

Androidでの開発、楽しいのでぜひ皆さんやってみてください。

それじゃ今日はこの辺で。

関連記事

こちらの記事もおすすめです。

Code Igniter4 & SQLiteでサイトを作って遊ぶ