freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

瀏覽器開發(fā)(編輯修改稿)

2025-06-25 21:48 本頁面
 

【文章內(nèi)容簡介】 ????????????????????12 算法 ??????????????????????13 詞法分析結(jié)果示意 ?????????????????15 HTML 詞法分析的應(yīng)用 ???????????????15 第三章 瀏 覽 器 J a v a S c r i p t 支持的實(shí)現(xiàn) ? ? ? ? ? ? ? 1 8 JavaScript 開發(fā)環(huán)境 ????????????18 JavaScript Engine ????????????????18 JavaScript 與瀏覽器 接合 ????????????? 19 瀏覽器消息響應(yīng) ????????????????? 21 第四章 Linux 程序開發(fā)技術(shù)及 GTK 圖形程序開發(fā) ?? 23 Linux下的程序開發(fā)環(huán)境 ??????????????23 GTK圖形程序開發(fā) ?????????????????29 4 第五章 Netbit瀏覽器開發(fā)與分析 ????????? 31 Netbit 瀏覽器簡介 ???????????????? 31 Netbit Browser 瀏覽器各部份的功能 ??? ????? 31 界面模塊 ????? ??? ??? ??? ??? ??? ?32 控制模塊 ????? ??? ??? ??? ??? ??? ?34 詞法分析模塊 ? ??????????????????34 PIXMAP的畫圖模塊 ???????????????35 5 . 7 文 本 文 件 的 顯 示 模塊 ????????????????36 HTML 文件的顯示模塊 ??????????????? 37 Netbit 實(shí)際應(yīng)用效果及比較 ???????????? 40 Netbit Browser 的缺點(diǎn)分析及改進(jìn)辦法 ???????44 Netbit Browser 未來的展望 ????????????48 第六章 其它瀏覽器分析 ?????????????? 50 Dillo(Gzilla)瀏覽器分析 ???????????? 50 Thunder 瀏覽器分析 ????????????????55 Mozilla 瀏覽器分析 ????????????????56 ZEN 瀏覽器分析 ??????????????????57 6 . 5 瀏 覽 器 分 析 工 作 的 總結(jié) ? ??????????????58 致 謝 ??????????????????????? 60 參考文獻(xiàn)表 ?????????????????????61 5 引 言 隨著計(jì)算機(jī)、網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,新型的高科技含量的電子產(chǎn)品層出不窮,遍及家電、生產(chǎn)、軍事等各個(gè)領(lǐng)域。嵌入式系統(tǒng)因其體積小,速度快而受到重視。在掌上電腦、 PDA、手機(jī)、導(dǎo)航設(shè)備、信息家電領(lǐng)域嵌入式系統(tǒng)被廣泛采用,這也是近期產(chǎn)品研發(fā)的熱點(diǎn)。嵌入式瀏覽器作為重要的嵌入式系統(tǒng)應(yīng)用軟件,是不可或缺的。但目前,嵌入式瀏覽器產(chǎn)品的市場被少數(shù)國外大公司壟斷 ,眾多的小型嵌入式瀏覽器也尚處于發(fā)展期,而國內(nèi)的自主技術(shù)的嵌入式瀏覽器更屈指可數(shù),剛剛進(jìn)入實(shí)用階段。迫切需要更多的人來關(guān)注嵌入式瀏覽器技術(shù),開發(fā)中國自主知識產(chǎn)權(quán)的瀏覽器產(chǎn)品。 本文闡述了嵌入式瀏覽器開發(fā)的關(guān)鍵技術(shù),并詳細(xì)說明Netbit Browser 的實(shí)際開發(fā)過程,技術(shù)細(xì)節(jié)。并以網(wǎng)站的方式公布了其源代碼,為國內(nèi)嵌入式瀏覽器的發(fā)展做了有益的嘗試。 6 第一章 嵌入式瀏覽器設(shè)計(jì)概述 桌面瀏覽器簡介及其與嵌入式瀏覽器的區(qū)別: 常見的桌面瀏覽器有微軟的 Inter Explorer,網(wǎng)景的Netscape,開放源碼的 Mozilla,以及 opera, mosaic, Hotjava,字符模式的 lynx 等。其中 IE, Opera 已有嵌入式版本,以上的大多數(shù)瀏覽器均有跨多平臺的版本。這些桌面型瀏覽器功能參差不齊,但大多能實(shí)現(xiàn)基本的瀏覽功能。其中 IE與 Netscape 對 HTML頁面的顯示效果均堪稱完美(對于 XML, WML 等標(biāo)準(zhǔn)的網(wǎng)頁瀏覽,本文不予討論)。 與完美的瀏覽效果,功能豐富,支持多種媒體格式和視音頻插件等優(yōu)點(diǎn)形成對立的是,這些瀏覽器龐大的體積和對機(jī)器配置的高要求 。這也是桌面瀏覽器和嵌入式瀏覽器最大的區(qū)別。另外,桌面型瀏覽器通常是基于通用的操作系統(tǒng),用于桌面電腦如 PC機(jī)、 MAC 機(jī)等。而嵌入式瀏覽器通?;趯S孟到y(tǒng)。 需要指出的是,我們在網(wǎng)上??吹降囊恍┧^的優(yōu)秀瀏覽器,如 Netcaptor,魔裝網(wǎng)神,騰訊,颶風(fēng), Fantasia,金山 WPS office的瀏覽器等等,均為使用 IE內(nèi)核的瀏覽器,使用了多頁面多線程的方式,降低了系統(tǒng)資源的耗費(fèi),方便了瀏覽,但軟件本身沒有多少技術(shù)可言,可以用 Delphi, VB 等工具輕易開發(fā)出來(如果不要求完善的功能,只需簡單到拖一個(gè) IE控件過去就行了),這也體現(xiàn)了微軟的 COM+及 ActiveX 技術(shù)的強(qiáng)大。 常見嵌入式瀏覽器 (1)Inter Explorer for WinCE,是 IE 的 Windows CE 版,這也意味著用戶為了使用它,必須選用基于 WinCE 平臺的產(chǎn)品,隨著微軟勢力在掌上終端領(lǐng)域的蔓延, WinCE 版的 IE 必將大行其道。 (2)Access Netfront, Access 是日本的瀏覽器大廠,占據(jù)了大部份的日本瀏覽器市場,其產(chǎn)品廣泛應(yīng)用于手持設(shè)備、機(jī)頂盒、 7 游戲機(jī)等產(chǎn)品。其新推出的 Netfront Linux 版本可以免費(fèi) 下載,網(wǎng)址是: 用,發(fā)現(xiàn) Netfront 瀏覽效果非常好,對中文的支持和表格的顯示效果,甚至超過 Netscape for Linux。而且支持鍵盤操作??梢允褂眉^鍵來選擇網(wǎng)址進(jìn)行跳轉(zhuǎn)。但顯然為了簡化設(shè)計(jì), Netfront 使用了一定的權(quán)宜手段。比如它不支持使用 font標(biāo)記來設(shè)置字體,也不支持樣式表,所有字體的大小是固定的,但一般情況不易發(fā)現(xiàn),不過由于 Linux 版本不是商業(yè)性版本,無法就此推斷其他版本的特性。 Netfront Linux版大小為 ,如再加以簡化(比如去掉一些圖片按鈕)可以做的更小。 (3)Gzilla,現(xiàn)名 Dillo,是基于 Linux,使用 GTK 作為 GUI 平臺開發(fā)的瀏覽器,其開發(fā)目的也包含嵌入式的應(yīng)用。是開放源碼項(xiàng)目。我們在設(shè)計(jì) Netbit Browser 時(shí)主要參考了該瀏覽器的界面設(shè)計(jì)。該瀏覽器的缺點(diǎn)是不支持表格,布局過于簡單,不支持中文,瀏覽效果比較差,優(yōu)點(diǎn)是網(wǎng)絡(luò)功能完善,支持 cache緩沖,能夠支持多種圖片格式。網(wǎng)址是: (4)Viewml, 使用 FLTK 作為 GUI 平臺開發(fā)的瀏覽器,主要面向嵌入式的應(yīng)用。是開放源碼項(xiàng)目。使用 C++面向?qū)ο蟮脑O(shè)計(jì)。因?yàn)槭褂?FLTK,所以可以在嵌入式的 Micro Window 平臺運(yùn)行,該瀏覽器支持簡單的表格,界面還沒有做(只有一個(gè)主窗口),不支持中文,由于 FLTK 的 BUG 比較多,我們在實(shí)際編譯時(shí)經(jīng)常出錯,即使編譯通過,也常常是還沒運(yùn)行就 core dump 了,但曾經(jīng)由某人編譯成功,基本可用,網(wǎng)址是: (5)ZEN,一個(gè)并不知名的嵌入式瀏覽器,但卻十分優(yōu)秀,開放源碼項(xiàng)目,不僅支持表格,支持多種圖像格式,而且在設(shè)計(jì)上很有特色,將涉及到 GUI 平臺的部分獨(dú)立出來,用戶可以指定不同的 GUI 平臺運(yùn)行,內(nèi)置了對字符, SVGA 和 GTK 的支持,開發(fā)這只需按照相應(yīng)規(guī)范編寫該軟件的涉及 GUI 的部份,就可以將其移植到其它 GUI 平臺,而無須對整個(gè)軟件進(jìn)行修改。缺點(diǎn)是網(wǎng)絡(luò)功能比較弱,不支持多線程,另外其必須等到所有圖片下載完畢才開始布局,若某文件傳輸失敗則會導(dǎo)致死鎖,需用戶中 斷。網(wǎng)址是: 8 以上主要介紹了開放源碼的嵌入式瀏覽器,因?yàn)槠鋵Ρ卷?xiàng)目具有實(shí)際的參考價(jià)值。 嵌入式瀏覽器的應(yīng)用領(lǐng)域 嵌入式瀏覽器主要應(yīng)用于手持終端和信息家電,例如掌上電腦、 3G 手機(jī)、網(wǎng)絡(luò)機(jī)頂盒、具有網(wǎng)絡(luò)功能的其它家電,如可上網(wǎng)的電冰箱等,另外,在軍事等領(lǐng)域也有一定的應(yīng)用需求。 下面簡介主要的組成部份,其設(shè)計(jì)原理后面將進(jìn)行專門論述。 詞法分析 主要是針對 HTML進(jìn)行詞法分析,該詞法分析器實(shí)際是通用的,還可用于 XML、 WML 的詞法分析,只需替換元素名稱即可。 HTML 詞法分析是瀏覽器設(shè)計(jì)的基礎(chǔ)環(huán)節(jié)之一,也是整個(gè)設(shè)計(jì)過程中重要的前端工作,其數(shù)據(jù)結(jié)構(gòu)的擬定與接下來的語法分析和布局算法密切相關(guān),詞法分析的效率與準(zhǔn)確性、容錯性也關(guān)系到整個(gè)瀏覽器設(shè)計(jì)的質(zhì)量。 語法分析 在大型的瀏覽器中,語法分析通常是獨(dú)立的模塊,但在嵌入式瀏覽器中,語法分析通常是與布局混合在一起的, 即一邊進(jìn)行語法分析,一邊布局,不設(shè)立相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來存儲語法分析的結(jié)果。語法分析對布局的算法有直接的指導(dǎo)意義。 布局 本文中的布局應(yīng)理解為界面輸出前的預(yù)演和處理位置等信息的算法,而不是具體的畫圖和界面輸出。布局算法的好壞直接關(guān)系到界面的輸出效果,但布局算法也是要根據(jù) GUI 所能實(shí)現(xiàn)的輸出效果來設(shè)計(jì)的,所以, GUI 往往成為系統(tǒng)的瓶頸,如果 GUI 提供的支持有限,即使有再好的布局算法,也是紙上談兵,無用武之地。 GUI 及軟件界面 GUI 是指圖形用戶界面,瀏覽器無疑是一個(gè)圖形函數(shù)庫的大需 9 求 者,選擇好的 GUI 環(huán)境實(shí)屬不易,為了能夠?qū)崿F(xiàn)專有的功能,瀏覽器開發(fā)者往往還要對基礎(chǔ)的 GUI 庫進(jìn)行包裝、改寫,甚至寫自己的控件。所有這些,是需要有專業(yè)的 GUI 庫開發(fā)經(jīng)驗(yàn)的專職人員來完成。 GUI 的功勞第一在于軟件的操作界面,如窗口、菜單、工具條、滾動條等。第二在于主瀏覽窗體中的圖形元素的輸出(通常以自畫控件的方式)。前者通常直接使用 GUI 庫中的已有控件,編程難度很小,后者主要利用基本的點(diǎn)線函數(shù),編程難度比較大。 JavaScript 支持 實(shí)際上 JavaScript的編譯器是開放源碼的,而且全世界通用,包括 IE、 Mozilla、 Netscape 等瀏覽器都使用相同的 JavaScript的編譯器,但為何其對 JavaScript 的支持不盡相同呢,這是因?yàn)镴avaScript 在瀏覽器里主要是用于操縱界面元素和與瀏覽器內(nèi)部命令進(jìn)行結(jié)合。這實(shí)際上是程序員努力的結(jié)果,而不是JavaScript 編譯器的功勞。這其中的機(jī)制將在后面專門介紹。 IO 主要是指通過 HTTP 協(xié)議或文件系統(tǒng)來讀取網(wǎng)頁內(nèi)容,網(wǎng)絡(luò)部份超出了本論文的討論范圍,不予詳述,后面將介紹與網(wǎng)絡(luò)部份的接口。 以上主要按工作的性質(zhì)進(jìn)行分類,介紹了瀏覽器設(shè)計(jì)的主要幾個(gè) 部份,但與實(shí)際開發(fā)工作的人員劃分不同,實(shí)際工作要考慮人員的實(shí)際能力和經(jīng)驗(yàn),結(jié)合要實(shí)現(xiàn)的目標(biāo),對各部份的投入也有輕重緩急之分,比如,如果沒有詞法分析的先行實(shí)現(xiàn),語法分析與布局都是紙上談兵。 GUI 平臺不確定,布局工作也無法展開。 我們也可以看到,要設(shè)計(jì)效果較好的瀏覽器產(chǎn)品,決不是三五個(gè)人、兩三條槍就能辦到的,參與工作的人員不僅需要有相關(guān)經(jīng)驗(yàn),還需要有一定的投入,一方面對程序員艱苦的工作給予鼓勵,另一方面也可能需要購買一些成熟的開發(fā)包,在基礎(chǔ)的開發(fā)平臺、測試平臺上也要有一定的投資,總的來說, 開發(fā)自主技術(shù)的瀏覽器產(chǎn)品是有一定的風(fēng)險(xiǎn)的,這也是國內(nèi)目前相關(guān)產(chǎn)品為數(shù) 10 不多的原因。國外大公司在相關(guān)領(lǐng)域的科研與實(shí)踐已很成熟,在大量投入之后,其產(chǎn)品已為廣大用戶所接受,國內(nèi)的企業(yè)若從零做起,也很難追趕。因而買斷技術(shù),加以改進(jìn)也可以成為快速成長的一條道路。 以下的工作均是建立在大量的調(diào)查基礎(chǔ)上的。是瀏覽器開發(fā)前期準(zhǔn)備工作所解決的問題。 平臺的選取 目前的商業(yè)化嵌入式操作系統(tǒng)功能完善,但使用費(fèi)用高昂,使用 Linux 內(nèi)核的嵌入式操作系統(tǒng)不僅功能強(qiáng)大,便于開發(fā)移植,而且費(fèi)用低廉,基于 Linux 的嵌入式系統(tǒng)已日漸成熟,也有相應(yīng)的窗口系統(tǒng)可以使用,我們使用 PC上的 Linux來進(jìn)行瀏覽器開發(fā),是再好不過的了,軟件從 PC 移植到嵌入式設(shè)備只需重新編譯一下就可以了(前提是使用的函數(shù)庫、開發(fā)包同時(shí)具有 PC和嵌入式的版本)。 GUI 的選取 GUI 的選取是頗費(fèi)腦筋的問題,一方面要考慮嵌入式系統(tǒng)是否有對應(yīng)的版本,一方面要考慮該 GUI 的功能是否足夠?qū)嵱谩? 目前常見的基于 Linux 的 GUI 開發(fā)包主要有 GTK、 FLTK、 QT、KDE 等,其中 FLTK 有 Micro Window 的版本,是比較好的選擇,但使用 FLTK 開發(fā)的 軟件還比較少,對于初學(xué)者進(jìn)入的難度更大,而且目前 BUG 較多,而 GTK 比較成熟,使用 GTK 的軟件比比皆是,資料也很豐富,我們的參考對象 Gzilla 也使用 GTK,也就是說如果使用 GTK,將有很好的原型進(jìn)行參考,這使得 GTK 對于目前毫無 GUI 開發(fā)經(jīng)驗(yàn)的瀏覽器開發(fā)組而言,充滿了巨大的誘惑??紤]到 GUI 是可以成為獨(dú)立
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1