iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
Software Development

來做個網路瀏覽器吧!Let's build a web browser! 系列

鐵人鍊成 共 35 篇文章 | 101 人訂閱 訂閱系列文
DAY 11

瀏覽器引擎處理版面佈局的簡易版(一)

經過幾天身心調養後,我們再回來討論 robinson 這個「玩具」專案。接著我們來看 robinson/src/layout.rs 這個模組。如果你還沒看過本系...

2017-12-21 ‧ 由 微中子 分享
DAY 12

瀏覽器引擎處理版面佈局的簡易版(二)

昨天討論了什麼是 box。算是對 layout 有初步認識了。 今天來看 robinson/src/layout.rs 裡面如何實作。 首先定義 box 的模型...

2017-12-22 ‧ 由 微中子 分享
DAY 13

瀏覽器引擎處理版面佈局的簡易版(三)

接續昨天討論 robinson/src/layout.rs 這個 layout 模組。 一般來說,box 是從上到下堆起來的,如果有定義是 inline 的話,...

2017-12-23 ‧ 由 微中子 分享
DAY 14

瀏覽器引擎輸出畫面的簡易版

在簡易瀏覽器中,我們將流程制定成: DOM tree \ --> style tree --> layout --> p...

2017-12-24 ‧ 由 微中子 分享
DAY 15

瀏覽器開發進階實戰(一) value sanitization of input type

我們現在了解如何開發一個簡易版的瀏覽器了。在本系列的先前文章當中,已經帶大家一步一步完成一個「玩具」等級的瀏覽器,雖然功能很簡陋,很多東西不支援,但卻是貨真價實...

2017-12-25 ‧ 由 微中子 分享
DAY 16

瀏覽器開發進階實戰(二)XML Serialize for HTML

今天繼續以Servo 專案來討論如何實作。 我們先前提到 html 會需要被 parse,而反過來的動作就是 serialize 了。 以下擷取 W3C 的說明...

2017-12-26 ‧ 由 微中子 分享
DAY 17

談談 Servo 專案

前言 什麼是 Servo? Servo 是一款專為應用軟體和嵌入式應用而設計的現代化的高效能瀏覽器引擎 緣起 C++ 一直以來都是很棒的語言,尤其在處理低階...

2017-12-27 ‧ 由 微中子 分享
DAY 18

瀏覽器開發進階實戰(三)捲動

今天繼續以Servo 專案來討論如何實作。 今天主題是 scroll,也就是捲動。當頁面大於視窗,或是元素內容大於元素本身,這時候我們常常會看到到「捲軸」出現。...

2017-12-28 ‧ 由 微中子 分享
DAY 19

為什麼手機上網速度比較慢呢?

問題:為什麼手機上網速度比較慢? 今天來點輕鬆的主題。 你有沒有想過,為什麼手機上網速度比較慢? 手機處理器不夠強 手機記憶體不夠大 網路速度影響的 百萬小...

2017-12-29 ‧ 由 微中子 分享
DAY 20

瀏覽器偷了我手機的電!?

今天再來看一篇有趣的論文,題目是 Who Killed My Battery: Analyzing Mobile Browser Energy Consumpt...

2017-12-30 ‧ 由 微中子 分享