文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

Vivaldiブラウザがいい感じに仕上がってきているかもしれない

最強かと言われると全然最強ではないのですけどね〜
f:id:treeapps:20170814232628p:plain

ブラウザ界ではchrome一強と言ってもいい状態が長らく続いていましたが、最近Firefoxが盛り返してきたり、chrome以外のブラウザも徐々に息を吹き返してきているようです。

そんな中、vivaldiが実はいい感じに仕上がってきている事が解ったので、今はchromeをやめ、vivaldiに移行してみました。

vivaldiとは

日本語に完全対応したブラウザです。

vivaldi.com

特徴として、Operaの創設者の一人が作っている点と、標準で様々なカスタマイズ(タブ・ジェスチャー・ショートカット)が行える機能を持っています。

vivaldiのメリット

マウスジェスチャーが標準搭載

標準搭載というのは非常に大きなメリットです。

chromeやfirefoxでもアドオンを追加すれば確かに同様の事ができます。しかし、ブラウザのバージョンによって動かない場合があったり、長らくバージョンアップしなかったり、いつのまにか一定間隔毎に広告を表示してきたり。

お気に入りのジェスチャーアドオンが使えなくなっても「別のやつに乗り換えるからいいし」と別のものを探しても、品質に問題があったり、微妙に挙動に納得いかなかったり(特にmacの場合)する事があります。

標準機能でないが故に不安定で面倒な事が起きるので、ブラウザ標準搭載というのは非常に心強いものです。以下はマウスジェスチャーの設定ではマウスの奇跡がアニメーション表示され、なかなか綺麗です。(以下は静止画)

f:id:treeapps:20170814194828p:plain

以下、カクついていますがアニメーション表示です

f:id:treeapps:20170814195254g:plain

キーボードショートカットが標準搭載

なんだそんな事か、と思ってはいけません。

実はchromeもfirefoxもsafariも、標準機能としてはキーボードショートカットをカスタマイズする事はできないのです。

Keyconfig等のアドオンを導入すれば確かにショートカットのカスタマイズは可能です。しかし、前述のマウスジェスチャーの件と同様に、標準機能でないが故の品質の不安やブラウザのバージョンアップへの追従等の問題があります。

vivaldiの場合は以下のように解りやすい設定画面で、一つのショートカットに複数のコマンドを割り当てる事が可能になっています。

f:id:treeapps:20170814194414p:plain

chromeのアドオンがそのまま使える

これは文字通り、本当にそのまま使えます。vivaldiであるにも関わらず、chromeウェブストアに行ってアドオンを追加し、そのまま利用できます。

chromeの時と同様、アドレスバーの右側にボタンが追加される形になっています。

f:id:treeapps:20170814201030p:plain

別のブラウザに移行する時に「お気に入りのこのアドオンはあのブラウザにあるだろうか」という問題が付き纏いますが、chromeからの移行であれば心配無用です。そのまま使えます。

タブを閉じた時の挙動のカスタマイズ機能が標準搭載

chromeで言うところのTabsMixアドオンの主要機能はvivaldiでは標準搭載されています。

例えば「タブを閉じた時にアクティブにするタブをどれにするか」や「新規タブをどこに追加するか」や「タブバーの位置」の変更が可能です。

これも標準搭載されているのが嬉しいですね。

固定したタブの挙動

chromeで言うところの「タブを固定」、firefoxで言うところの「タブをピン留め」ですが、vivaldiにも標準機能として存在しています。

この機能自体はよいのですが、個人的に気になるのは以下の2点です。

  • 固定されたタブをCtrl + wで閉じる事が出来てしまうか。閉じる事ができてしまうと誤って固定タブを閉じてしまうという事故が結構起きてしまう。
  • 全てのタブを閉じた時にプロセスを終了しないままブラウザが閉じるか。個人的にブラウザが閉じられてもメリットが何も無い。

この2点の挙動を各ブラウザで比較すると、以下のようになりました。(アドオン等の補助無しの挙動です)

ブラウザ Ctrl+wで閉じてしまうか ブラウザ自体が閉じるか
chrome 閉じる プロセスが終了しないままブラウザが閉じる(最悪の挙動!)
firefox 閉じない 固定タブ以外を全て閉じても固定タブを残したままそれ以上閉じない
safari 閉じない 固定タブ以外を全て閉じるとプロセスを残したままブラウザが閉じる謎挙動
vivaldi 閉じない 固定タブ以外を全て閉じても固定タブを残したままそれ以上閉じない

私はchromeがどちらも閉じてしまう挙動に非常に辟易していました。「なんで固定したのにCtrl+wで閉じるんだ。固定って一体何なんだ」「全タブ閉じるとプロセス残したままブラウザが閉じて、私にどうしろと言うのだ」と。

一方vivaldiの挙動は私が求めていた挙動です。(firefoxも同じ挙動)固定タブは右クリック経由からでしか閉じたくない(固定タブ以外の全タブ閉じたい時にCtrl+wを連打すると誤って固定タブも閉じてしまう)のと、プロセスを残したままブラウザ閉じるという挙動は非常に嫌なものです。

こういった細かい挙動は非常に重要で、人によってはこの挙動のみをカスタマイズするために専用アドオンを入れる人も結構いると思います。

chromeの開発者ツールと全く同じものが利用可能

開発者にとっては非常に嬉しいですね。

現時点ではchromeのdeveloper toolsが全ブラウザの中で最強の機能を持っているので、これが原因でchromeから離れられない人もいると思います。もしくは私のように会社ではchrome一択で、自宅だとchrome以外のブラウザを使うとか。

Service Workerもバッチリ動き、スマホ表示機能もchromeと完全に同じなので、安心して使えると思います。以下はiPhone6で表示し、ServiceWorkerを表示している画面キャプチャです。

f:id:treeapps:20170814210020p:plain

サイトによってツールバー部分の色が変わるのが面白い

人によっては逆にウザいかもしれませんが、vivaldiの場合はサイトのテーマによって?、ツールバーの色が変わります。

f:id:treeapps:20170814210733g:plain

どこを中心にカラーを決定しているのか定かではありませんが、色が変わるのは面白いですね。

vivaldiのデメリット

いい事ばかりではないですよ。

スクロールがスムーズでない

chromeと同様にガタガタです。「スクロールを滑らかにする」を有効にしてもまだまだです。

一方macのsafariは最高です。個人的にはあれが最高のスクロールです。非常に軽く滑らかにスクロールしてくれます。

アカウントの同期機能が(まだ)無い

chromeはgoogleアカウントと紐付いているので、ブックマークやアドオンの共有がgoogleアカウントで行えるという、非常に強力な強みを持っています。FirefoxにもSyncという同期機能がありますね。

vivaldiには現状sync機能はありませんが、今後実装されるというアナウンスがされています。
vivaldi.com

同期にはvivaldiアカウントが必要なようで、firefox等と同じ形式のようです。これを考えると、googleアカウントはほぼ誰でも持っているので、わざわざアカウントを作る必要の無いchromeは非常に強いですね。

開発力の差

Google、Mozilla、Apple、Microsoft、という名だたる超巨大企業の開発力と比較すると、どうしても見劣りしますね。特にバグフィックスの反映速度ではどうしても差が出そうです。(chromeが速すぎるだけかも)

しかし逆に巨大なマンモスであるが故に腰が重い(AppleとかMicrosoftとか)というデメリットもあるので、図体が大きくないが故のフットワークの軽さにも期待したいですね。

小さなバグが見つかったりする

Ctrl + f で検索ボックスを開いたまま開発者ツールを開こうとすると表示がバグったり、まだまだ小さなバグが残っていたりします。結構UIに関するバグはあったりするようですね。他にも、ごく稀にクラッシュしてしまう事もありました。

やはりこの辺りは開発力の差なのかもしれません。

ユーザーエージェント判定で微妙な判定をされる事がある

例えばAbemaTVですが、以下のように表示されます。

f:id:treeapps:20170814220131p:plain

まあ確かにchromeでは無いですが、chromiumベースのブラウザなので機能としてはほぼ変わらないんですよね。

ちなみにvivaldiのユーザーエージェントは以下のように表示されました。

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.91 Safari/537.36 Vivaldi/1.92.917.39

場合によっては未知のブラウザ、または動作保証外のブラウザと判定され、サービスが利用できないケースがあったりする可能性もありますね。(今のところサービス利用不可なサイトは見たことありません)

雑感

移行しやすくなった

chromiumベースにする事でエンジン開発をせずエンジン以外のブラウザ機能にのみ注力し、更にchromeの機能の大半を利用できるようにしたのは、非常に賢い戦略だと思います。

以前まではちょっと重かったり、根本的に品質の問題(致命的なバグや未実装機能の多さ)を抱えていたりで、ちょっと敬遠されていたvivaldiですが、現状では非常に安定し、動作も以前より軽量・高速になっているので、万人にオススメできる段階まで来たように思えます。

更に、chromeのdeveloper toolsに縛られている開発者にとっても非常にいい選択肢の一つになったと言えると思います。やはりchromiumベースなので、開発者フレンドリーで良いですね。

アドオン無しの標準機能の多彩さ

ブラウザのカスタマイズって、以外と小さな挙動が納得いかない場合が多く、その挙動一つ一つにアドオンが必要で、更にそのアドオンがいつの間にか動かなくなったりして、本当に面倒臭いんですよね。突然開発を停止したり、有料化したり、バージョンアップに追従してくれなかったり。

その点vivaldiはブラウザの基本動作の大半は標準でカスタマイズ可能なので、余計なアドオンを入れる機会が減ります。chromeの場合はアドオン1つにつき1プロセス起動してしまうのが何か嫌なんですよね。プロセスが増えてもメモリ消費量もCPU使用率もほとんど増えないので問題無いのですが、精神衛生上よろしくありません。

アドオンが増えれば増えるほど、各機能の品質問題はどうしても増えてきてしまうし、ブラウザ本体以外が原因で動作が重くなったりする事もあるので、アドオンは少なければ少ない程良いです。

アドオン地獄が軽減されるかも?

アドオン地獄に陥っている方、chromeのdeveloper toolsに縛られていた開発者の方、には非常に良い乗り換え対象ブラウザだと思います。ただ、vivaldiも全然完璧なブラウザではないし、safariのように機能不十分だけどスクロールが気持ちよくフォントの描画が綺麗なじゃじゃ馬タイプが好きな人もいると思います(私です)。

以前はIE1強時代・chrome1強時代ありましたが、その独占状態は徐々に是正され、更にタブレットやスマホのブラウザにも波及し、1強にならなくなってきたのは非常に良い傾向だと思います。開発者としては1強の方がブラウザの動作確認量が少なくて済むのですが、ユーザ側としてはやはり選択肢は沢山あった方が嬉しいものです。

モバイルデバイスも視野に入れたブラウザ競争が再び激化しているので、今後も目が離せませんね!