ブラウザを作ったといってもiOSではWebkitを使わないといけないという制約があるので、実際はWebviewに色々UIを追加したものを作りました。そう、React Nativeでね。 2015年に一人React Native を書いたのが非常に懐かしいです。あれから、どのようにReact Nativeが進化していったかを含めて良い勉強になりました。
開発することを決めた理由は、iPad Proのキーボード操作が不便だったからです。画面をタップしたり、キーボードを操作したり、PCに慣れていると非常に面倒。また、Capslockの位置にControlキーがないのも操作に支障がありました。(エンジニアならESCキーが必須だと思う?ので、バッテリーと母体との接続を考えると外部キーボードはスマートキーボードではなくて、Magic Keyboardを購入しています)
ちなみにWazari BrowserはWazaterm というブラウザからTerminalを操作するサービスのサブプロジェクトとして開発しました。Wazatermの利用は課金が必要ですが、Wazari BrowserはGPLv3のオープンソースとしてソースを公開しています。
機能は、下記のようになっていま。す
- Customizable shortcuts to operate browser. e.g. Change tabs without touching screen.
- 画面にタッチすることなくブラウザを操作できる
- CapslockのCtrl化等のキーマッピングが可能(外付けキーボード利用時)
- タブ切り替え等のショートカットキーを変更できる
- ブラウザ画面を分割できる
- 検索エンジンの切り替え Google or Duckduckgo
- 検索窓から履歴ページ移動・タブ移動
少しずつ開発時のポイントを投稿していこうと思います。