Chrononglyph

webサイト制作環境

前へ1 / 2次へ
#7041

webアプリの大きな一歩

iPhoneの最新アップデート、iOS16.4が配信開始となりました。
普段ならマイナーアップデートは配信後すぐにせずスルーすることも多い自分が、
今回はすぐにアップデートしました。注目している機能の追加があったからです。


それは、プログレッシブwebアプリ(PWA)のプッシュ通知対応!
新ピクチャレ大会構想の段階からずーっと待ち続けていた機能です。
これはアプリ制作の現場を揺るがす非常に大きな変化であり、
ともすればこれをきっかけにPWAが一気に普及して相対的にアプリ制作は縮退するかも。


スマホにおけるデフォルトブラウザには、昔から「ホームに追加」機能があります。
ブックマークをアプリアイコンにして、すばやくサイトを開けるというものですね。
この場合はアイコンをタップするとブラウザアプリが開きます。
あくまでもブラウザアイコンのエイリアスでしかなく、開くのはブラウザアプリです。
これを発展させたものがPWA。webサイト管理者側がPWAに対応すると、
ホームに追加されたwebサイトはブラウザとは別に独立したアプリのように開かれます。
内部的にはブラウザなので、ブラウザを複数起動する仕組みと言ってもいいかもしれません。


このPWAはスマホサイトをアプリのように見せかけるという点で魅力的なのですが、
2023年現在、そこまで普及しているとは言えません。
独立したところで所詮はブラウザでしかなく、
PWA対応が直接的なトラフィック増につながるわけではないからでしょう。
本当に頻繁にサイトを訪れる人にはありがたい機能ではあるものの、
そういう人も大抵Dockに置いてあるブラウザアイコンから閲覧するケースが多いと思います。


しかし、iOS16.4で搭載されたプッシュ機能対応によって状況は一変します。
というのも、ネイティブアプリにあってPWAに無い唯一の機能がそのプッシュ通知だったから。
企業がこぞってネイティブアプリを作るのは、プッシュ通知があるからとも言われています。
プッシュ通知は能動的にコンテンツを探しに行かなくても向こうから訪問を促すため、
大幅なトラフィック増が見込まれるからです。
通知機能を持たないアプリがスマホの奥底で忘れられていることは少なくありません。
せっかくダウンロードしてもらっても起動されなかったら意味がないわけです。
その大幅なトラフィック増に貢献するプッシュ通知をスマホアプリでもできるとなると、
コストを削減したい企業はネイティブアプリを作るのではなくPWAを作ろう、という話になるはず。
ネイティブアプリは開発費もかかるしAppleに登録料や手数料を支払わなくてはいけませんが、
PWAであればそういったプラットフォームの制約は一切無いからです。


またこれは自分自身にとっても嬉しい話です。
新ピクチャレ大会に通知機能をつけるならReact Nativeの習得は避けられないと思っていました。
しかしこれならPWAに対応するだけで無理にネイティブアプリを作る必要はない。
すでに触っているNext.jsがPWAに対応しているので、通知機能の実装に希望が見えてきました。
もしかするとあまり苦労せずとも実装できるかも。


いやー、webアプリの世界はどんどん夢が広がるばかりですね。


#7036

環境変化による優先度変化

こうなることは薄々覚悟していましたが、
今月に入って新ピクチャレ大会の開発が一気に鈍化してしまいました。これはヤバい。
『ピクミン4』発売前といういま頑張らなくていつ頑張るんだというタイミングなのに、
ここで手が止まってしまうのは非常によろしくない。
どうにかしてやる気を奮い起こさないといけないのですが、現時点で見通しは立っていません。


原因はもちろん、Macbookを一時的に手放したことです。
これによっていままで一番作業が捗っていたカフェでの開発が基本的にできなくなった。
iPadでCloud9やリモートデスクトップを使うなどいろいろ試行錯誤した結果、
Cloud9でもリモートデスクトップでも開発は継続できるようにすることはできました。
ただ、情けないことに環境の変化にモチベーションがついていけていない。
可能ではあるものの快適ではないことから、次のタスクを片付けようという気にならないんです。
非常に甘ったれたことを言っているのは百も承知ですが、
これが自分という人間であることは否定のしようがないのでどうにか騙すしかありません。
ただ、その騙し方の見通しが立っていないという感じです。


新ピクチャレ大会の開発もMacbookを手放した時点で基本機能のうち8割方完成していて、
ちょうど面倒くさいものだけ残った段階で環境が変わったのも間が悪かったと思います。
環境が変わっていなくてもちょっと気合が必要な段階だったというわけです。
ただでさえ乗り越え難いハードルがさらに上がってしまったという。


とはいえこれらはすべて言い訳であり、ピクミン4の発売は待ってくれません。
新作発売のタイミングでリメイクできるか否かで今後のアクティブユーザー数は大きく変わるはず。
それはつまり今後の運営モチベーションに直結するわけで、
ある意味でピクチャレ大会にとって2007年の開催以来最大の分水嶺に来ていると思っています。
ここをなんだかんだと言い訳して何もせずに凌いでしまったら強く後悔するでしょう。


まあでも、基本機能は8割完成しているのでもう一踏ん張りではあるんですけどね。
この残り2割をCloud9で完成させるのは難しそうなので、
使い慣れたIDEやPostmanが使えるWindows環境、
ないしそのリモート環境をどうにか整備したいところ。
実家帰省でリモートを試したときはカーソル操作ができずに投げ出しましたが、
あの後トラックパッドとは別にマウスを用意すれば動作させることができることが判明しました。
なのでやろうと思えばカフェでの開発は再開できるはず。あとは心理的な問題。


いま、開発作業を阻んでいるのは実は「やりたくねー」という怠惰というよりは、
「それよりも先にブログをなんとかしたい」という優先度の問題だったりします。
02月15日以降ひたすら溜まりまくっている下書きをなんとかしたい、という。
こっちもこっちでブログ存続に関わる問題なので放置できません。
実家帰省をきっかけにブログを片付けたいという意欲に火がついてしまったので、
それ以来ずっとひたすら未完成の下書きを完成させる作業をしています。
自分の性格上、一度こっちに着手したら中途半端なところで開発作業に戻れないんですよね。
なのでブログ関係の作業が一段落すれば再開できるんじゃないか…… と思っていますが、どうでしょうか。


#7012

タブレットでプログラミング

iPadでプログラミングをしたいと思ったとき、選択肢は主に3つあります。
まずはプログラミングできるアプリをダウンロードしてローカルで開発する方法。
自分がまだiPad Airしか持っていなかったとき、
これを実現する『DraftPad』というアプリを発見して感動した記憶がありますが、
これはあくまでもPHPを実行する「だけ」の機能しか備えていないため、
DockerやGitなどを駆使して開発している現状ではこれでは足りません。
しかし、Apple側の制約なのかその辺をクリアしたIDEアプリは存在しないため、
現段階でがっつりローカル開発をするのは無理と考えた方が良さそうです。


もうひとつは自宅に開発できるPCを起動しておいて、リモートデスクトップで開発する方法。
この場合はリモートデスクトップアプリを駆使することになります。
主な選択肢は『Googleリモートデスクトップ』『Splashtop』などがありますが、
一通り試してみたもののリモートはできてもマウス操作が絶望的でした。
絶望的、というか効かないので操作しようがない。トラックパッドではダメなのでしょうか?


そして残された最後の選択肢が、クラウドIDEを使うという方法です。
クラウドコンピューティングで開発上の処理を全部賄って、ブラウザから操作するというもの。
代表的なものにAmazonの『Cloud9』があり、今回はこれを試すことにしました。
Cloud9はワンボタンで構築でき、クラウド上にストレージも実行環境も用意してくれます。
管理者権限でコマンドラインを扱えるので、Dockerなどの必要アプリもインストール可能。
ただひとつ、プレビューする方法がわからずに苦戦していましたが、
これはどうやら固有のドメインが与えられていて、ポート8080〜8082ならプレビュー可能らしい。
なのでそれに合わせてdocker-composeの設定ファイルを書き換えればOK。


Cloud9は内部的にはAWSの仮想PCを使っていて、
これはAWSにデプロイ(本番リリース)しようとする場合にも使うことになるサービスです。
調べてみると、仮想PCは例えばセキュリティ設定やコンテナの構築など、
個々の機能が小さなサービスとして独立していて、
ユーザーはその中からビュッフェのように好きに選択して取っていく形式になっています。
そのため、カスタマイズは自由自在。いじっていると結構面白いです。


新ピクチャレ大会は年間契約しているVPSかAWSのどちらかにリリースする予定なのですが、
従量課金であるもののスペックをスケーリングできるAWSか、
スペックが固定されていて変えることができない代わりにリーズナブルなVPSか迷っています。
まあ、VPSはもう年間契約してしまっているので金銭的にはこちらを使うべきなのですが……。
ただ、こっちに構築して万が一動かなかったときが怖いんですよね。


インフラ構築は難しいですが、今後3ヶ月で必ず直面する課題なので、
どうにか怖気つかずに立ち向かっていきたいところです。


前へ1 / 2次へ