初心者でも絶対出来る自作ブラウザ[Python]第1章 仕様検討

2021年1月23日

こんにちはショウです。

今日はウェブブラウザを1から作ってみたいと思います
初心者でも絶対できるように細かく説明していきますので、みなさんも作ってみましょう

ちなみに1回では全てを語れないのでシリーズ化する予定です
このシリーズを読めば以下のことができるようになります

  • ウェブブラウザを自作する言語の選定  ←この記事
  • Pythonの環境構築構築
  • Pythonのライブラリの導入方法
  • Pythonでの開発
  • 自作ブラウザの表示
  • ブラウザのカスタマイズ

ウェブブラウザとは

一応ウェブブラウザについて説明しておきます
IEやChoromeなど、ウェブページを閲覧するためのソフトウェアです
あなたが今見ているソフトウェアがまさにブラウザです

仕様検討

まずはどの言語で開発するかなのですが、記事のタイトルでネタバレしてます
Pythonで開発していきます

では、そうなった経緯を説明していきますね

作成するアプリに求めるもの

ウェブブラウザと一口に言っても、いろんな機能があります
今回はひとまず下記の機能を満たすものを作成します

  • ウェブページを見るアプリ
  • 色んなOSで使いたい
  • 動作が軽い

調査

まず、有名なウェブブラウザについて調べました

IEもChromeもFireFoxも表示部分のコアな処理についてはオープンソースを使用している
そのオープンソースはHTMLレンダリングエンジンと呼ばれるもだということがわかりました

次は、HTMLレンダリングエンジンについて調べてみました

HTMLレンダリングエンジンとは

HTMLレンダリングエンジンとは、ウェブページのデータを解釈し、文字や画像などの配置を計算して実際に画面に表示するプログラムです
HTMLに加え、CSS、XMLなどを解釈できるものが多いです

ウェブブラウザの主要要素として開発されているものが多いですが、インスタントメッセンジャーなどにも使われている例があります

今回の開発でもこのHTMLレンダリングエンジンを使用することにします

言語の絞り込み

そこでとりあえず、Chrome(バージョン 27まで) やSafariで使用されているwebkitのライブラリが使える言語を調べました

C++
C#
Python

決定

高速に表示できるwebKitが使用でき、クロスプラットフォームなアプリが作れるPythonに決定しました

まとめ

今日は、言語選定についてでした
言語が先に決まっているパターンもありますが、今回のように自由な場合は
仕様から考えて一番適した言語を選ぶことになります

次回はPythonの開発環境のセットアップについてです

質問や相談あればドシドシご連絡ください!!
こんなの作ってみたい等の依頼も募集してますよ~