Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产精品久久影院,女猛烈无遮挡性视频免费,国产一级在线

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          “開發(fā)一個(gè)靜態(tài) HTML 頁面,我要價(jià) 12 萬,有錯(cuò)嗎

          信息加速發(fā)展的互聯(lián)網(wǎng)時(shí)代,越來越多的科技公司為了專注核心競爭力業(yè)務(wù)以及降低軟件項(xiàng)目成本,開始將項(xiàng)目中的部分業(yè)務(wù)模塊分發(fā)給第三方外包公司來完成。而這樣是否就意味著大幅度地降低成本了?

          事實(shí)告訴我們,并沒有。

          本文作者作為一名外包商,以自身的經(jīng)歷告訴我們本可以在3天之內(nèi)完成了的一個(gè)報(bào)價(jià)僅為 1500 美元的靜態(tài) HTML 頁面,是如何被大型企業(yè)硬是拖成了一個(gè)為期 7 周且需要耗費(fèi) 18000 美元(約為人民幣12萬)項(xiàng)目的。

          不久前,我作為承包商工作,經(jīng)常從一個(gè)項(xiàng)目跳到另一個(gè)項(xiàng)目。有些是短期的,工作一周左右,可很快提交我的工作成果。也有的項(xiàng)目會(huì)持續(xù)幾個(gè)月,這期間我會(huì)攢一些錢用以休息一段時(shí)間。

          我更喜歡短期工作,因?yàn)檫@樣的工作使我可以在單位時(shí)間內(nèi)收取更高的費(fèi)用。這樣不僅我感覺是在為自己打工,而且我覺得我不需要太努力工作就能過上還算體面的生活了。我的最高費(fèi)率仍然在合理的范圍之內(nèi),而且我總是提供高質(zhì)量的服務(wù)。這就是我和一家大公司定下這個(gè)項(xiàng)目之前我的工作狀態(tài)。

          這家公司聯(lián)系我的時(shí)候顯得很著急,經(jīng)理告訴我他們現(xiàn)在就需要一個(gè)人來搞定這件事。需要一個(gè)不怎么需要公司培訓(xùn)就能馬上上手,而且能交付最大性能的人。不管怎么說,這剛好是我的座右銘。這個(gè)項(xiàng)目正是我喜歡的工作類型。它內(nèi)容簡短,很快就能做好,而且報(bào)酬很高。

          在談判確定好合適的費(fèi)率后,我收到了一封包含說明的電子郵件。他們給了我更多關(guān)于這個(gè)項(xiàng)目的背景。他們的開發(fā)人員在沒有事先告知的情況下就離開了,并且從未跟任何其他人匯報(bào)過項(xiàng)目的進(jìn)展。

          我們需要您毫不分心地完成此項(xiàng)目。在合同期限內(nèi),您將只與我們合作,并及時(shí)交付成果。我們會(huì)對(duì)給您造成的麻煩進(jìn)行補(bǔ)償。

          任務(wù)說明很簡單:閱讀這些需求然后估計(jì)完成這個(gè)項(xiàng)目需要多長時(shí)間。這是我職業(yè)生涯中遇到的一個(gè)那類比較容易的項(xiàng)目之一。這是一個(gè)HTML頁面,包含一些簡單的動(dòng)畫和幾個(gè)嵌入的視頻。我花了一個(gè)晚上研究需求并在腦中模擬實(shí)施。這些年來,我已經(jīng)學(xué)會(huì)了在能確定收到報(bào)酬之前不為客戶寫任何代碼。

          我確定了這個(gè)項(xiàng)目充其量也就是一天的活兒。但為了保持謹(jǐn)慎,我上報(bào)了20個(gè)小時(shí),總計(jì)1500美元。畢竟這只是一個(gè)HTML頁面而已,我也只能收取這么多費(fèi)用。他們讓我到25英里外的衛(wèi)星辦公室去。在為他們工作的那三天里我必須天天開車去那兒。

          第二天,我到了衛(wèi)星辦公室。在一個(gè)購物中心,然后通過一扇秘密的門進(jìn)入了一個(gè)秘密的世界,一些工作人員在他們的小隔間里安靜地工作著。接待員給我看了一個(gè)我將用它來工作的全新MacBook Pro,我必須從零開始設(shè)置環(huán)境。我的確更偏向于使用公司的筆記本電腦,因?yàn)樗麄兘?jīng)常要求承包商安裝一些可疑的軟件。(我可不想裝到自己電腦上。)

          我花了一天時(shí)間下載我的工具包,設(shè)置電子郵件、SSH密鑰和請(qǐng)求服務(wù)的授權(quán)。換句話說,我什么都沒做。這就是為什么我上報(bào)了20個(gè)小時(shí),還沒開始寫代碼呢,光前期設(shè)置就耗費(fèi)了8個(gè)小時(shí)。



          第二天,我準(zhǔn)備開始真正地干活了。有了MacBook Pro,我用它發(fā)了一封電子郵件給經(jīng)理。我告訴他我已經(jīng)準(zhǔn)備好工作了,正在等待上述的資源。那天,我在我柔和燈光下的工位上待著,玩著手指,直到太陽落山。

          我再次計(jì)算了一下。根據(jù)我的估計(jì),我還只剩4個(gè)小時(shí)的時(shí)間來完成這項(xiàng)工作,這對(duì)單個(gè)HTML頁面來說也不是不可能。但不用說,第二天,我把這剩下的4個(gè)小時(shí)花在了吃公司贊助的午餐上,伙食很不錯(cuò),而且我與其他員工玩得很開心。

          當(dāng)預(yù)計(jì)的20小時(shí)到期時(shí),我確保向經(jīng)理發(fā)送了另一封電子郵件,讓他知道我確實(shí)人一直在公司,但我沒有收到我需要的資源。當(dāng)然,那封電子郵件被無視了。

          接下來的星期一,我猶豫地開過了這25英里。令我驚訝的是,經(jīng)理已經(jīng)來到衛(wèi)星辦公室,并熱情地問候了我。他是個(gè)三十來歲,很隨和很不錯(cuò)的人。我很不解,他并不像當(dāng)初要雇我的那時(shí)候那么著急了。我們進(jìn)行了友好的交談,沒有提到任何工作。后來,我們?nèi)コ晕绮停读隋X。這是美好的一天。完全沒工作。

          好吧你可以說我很容易形成習(xí)慣,但如果你供我吃喝并每天呵護(hù)我,我會(huì)習(xí)慣這一切。這變成了一個(gè)例程。

          我來上班,花一些時(shí)間在網(wǎng)上閱讀以及看視頻。我每天發(fā)一封電子郵件,所以他們知道我確實(shí)去了公司。

          然后,我會(huì)去吃午飯并和碰見的有趣的人一起玩耍。在一天結(jié)束時(shí),我站起來,伸個(gè)懶腰,打一個(gè)當(dāng)之無愧的哈欠,然后開車回家。

          我習(xí)慣了。事實(shí)上,我在期待這些。當(dāng)我終于收到一封帶有指向我需要的資源的鏈接的電子郵件時(shí),我反而有點(diǎn)失望。我重新開始腳踏實(shí)地,變回自己工作時(shí)的嚴(yán)肅臉。但是,在花了幾分鐘查看Zip文件后,我才注意到它缺少了我需要的大部分內(nèi)容。設(shè)計(jì)師給我發(fā)了一些Adobe Illustrator文件,我無法在MacBook上打開它。

          我回復(fù)了電子郵件來解釋我的疑慮,而且一并問了一些其他問題以節(jié)省時(shí)間。那時(shí),我當(dāng)初上報(bào)的20個(gè)小時(shí)時(shí)間早都已經(jīng)過了。我現(xiàn)在真的想要完成這項(xiàng)工作了。

          點(diǎn)擊發(fā)送后不久,我收到了一封電子郵件。只有一句:“轉(zhuǎn)發(fā)給Alex”,然后Alex得到了這封電子郵件的抄送。

          Alex回答說他轉(zhuǎn)發(fā)給了Steve。Steve回答說Michelle是設(shè)計(jì)師,她會(huì)了解得更多一些。

          Michelle的自動(dòng)回復(fù)稱她正在度假,所有詢問都應(yīng)該直接告訴她的經(jīng)理。

          她的經(jīng)理回復(fù)說“誰是Ibrahim?(我的名字)”我的經(jīng)理回復(fù)說他很抱歉還沒有向大家介紹我。



          作為承包商,在人們注意到我在那里工作之前,我通常就已經(jīng)完成我的工作并離開那家公司了。但這次,我收到了大量歡迎的電子郵件。這樣的郵件持續(xù)了一段時(shí)間,而我被迫回復(fù)那些友好地過了頭的郵件。有些人很想跟我本人見面。當(dāng)我說我在加利福尼亞州,離得遠(yuǎn)著呢,他們有點(diǎn)失望。以及羨慕,他們說他們羨慕加州美好的天氣。

          他們很有禮貌地?zé)o視我的電子郵件,用抄送來轉(zhuǎn)移我的問題,把我問過的任何事情歸為垃圾郵件。我花了很多時(shí)間,像一位考古學(xué)家在深深的電子郵件之溝內(nèi)挖掘,希望找到我問題的答案。

          你可以想象每當(dāng)我想起我唯一的任務(wù)是構(gòu)建一個(gè)靜態(tài)HTML頁面時(shí),我感覺到的冒名頂替綜合癥(心虛,懷疑自己的回報(bào)不是理所應(yīng)得的)的程度之深。原本虛報(bào)了的20個(gè)小時(shí)的項(xiàng)目變成了為期7周的冒險(xiǎn),期間我享受免費(fèi)午餐,每天開車50英里,并翻看電子郵件。

          當(dāng)我最終完成項(xiàng)目時(shí),我在GitHub上將它發(fā)送給了團(tuán)隊(duì)。

          在不久之后,我收到了邀請(qǐng),整個(gè)團(tuán)隊(duì)會(huì)用Google Hangout開視頻會(huì)議對(duì)我的代碼進(jìn)行Code Review。

          我花了一個(gè)多月的時(shí)間來寫一個(gè)靜態(tài)HTML頁面,而現(xiàn)在整個(gè)團(tuán)隊(duì)都要評(píng)價(jià)我的工作?

          那個(gè)什么,我要為自己說句話,這個(gè)頁面也包含一些JavaScript交互,是響應(yīng)式的,還包括CSS動(dòng)畫......好吧我真的覺得自己像個(gè)來冒名頂替的。

          當(dāng)然,視頻會(huì)議的時(shí)間又重新安排了幾次。當(dāng)它終于發(fā)生時(shí),我和我的工作已經(jīng)不是會(huì)議的主題了。他們都坐在紐約某個(gè)地方的同一個(gè)房間里,像一個(gè)緊密團(tuán)結(jié)的團(tuán)體一樣聊了一會(huì)兒。事實(shí)上,他們所說的關(guān)于我做的項(xiàng)目的所有內(nèi)容只有:

          • 人1:嘿,有人在做這個(gè)贊助頁面嗎?
          • 人2:是的,我認(rèn)為已經(jīng)完成了。
          • 人1:太好了,我今晚合并吧。

          那天晚上回家的時(shí)候,我意識(shí)到自己正面臨另一個(gè)挑戰(zhàn)。我在這家公司工作了7個(gè)星期,而我的原始報(bào)價(jià)為1,500美元。這相當(dāng)于每年11,100美元或每周214美元。或者直接說,每小時(shí)5.35美元。

          這幾乎還不夠我付油錢的。所以,我給他們發(fā)了一張發(fā)票,我按照原來的每小時(shí)費(fèi)率給他們報(bào)了7個(gè)星期,總額達(dá)18,000美元。我當(dāng)然感到羞恥,但我還能怎么辦呢?

          就像我預(yù)期的那樣,我沒有收到回復(fù)。如果所有大公司都有什么相同之處,那就是他們并不急于按時(shí)支付賬單。這么簡單的工作要價(jià)這么多,我覺得自己像一個(gè)騙子,但話又說回來了,我又不是來做慈善的。我每天開車50英里來做這項(xiàng)工作,如果工作沒有完成,那不是因?yàn)槲也幌搿_@是因?yàn)樗麄兓貜?fù)太緩慢了。

          接下來的一周我得到了回復(fù)。這是一封來自經(jīng)理的冷郵件,他把我每天的工作日分成不同的時(shí)間段。然后他把我工作的那部分時(shí)間高亮了,每天標(biāo)記一個(gè)小時(shí)的午休時(shí)間。最后他用我們商定的小時(shí)費(fèi)率做了一些計(jì)算。

          顯然,我算錯(cuò)了。我錯(cuò)誤估算了總數(shù)。調(diào)整后,他們欠我的總金額是21,000美元。

          請(qǐng)確認(rèn)重新調(diào)整后的小時(shí)數(shù),以便財(cái)務(wù)可以給您寫個(gè)支票。

          我很快回復(fù)了確認(rèn)。

          原文:https://idiallo.com/blog/18000-dollars-static-web-page

          作者簡介:Ibrahim Diallo,具有多年開發(fā)經(jīng)驗(yàn)的軟件工程師。

          本文為 CSDN 翻譯

          文本標(biāo)記語言 (英語:Hypertext Markup Language,簡稱:HTML ) 是一種用來結(jié)構(gòu)化 Web 網(wǎng)頁及其內(nèi)容的標(biāo)記語言。網(wǎng)頁內(nèi)容可以是:一組段落、一個(gè)重點(diǎn)信息列表、也可以含有圖片和數(shù)據(jù)表。正如標(biāo)題所示,本文將對(duì) HTML 及其功能做一個(gè)基本介紹。

          HTML 到底是什么?

          HTML 不是一門編程語言,而是一種用于定義內(nèi)容結(jié)構(gòu)的標(biāo)記語言。HTML 由一系列的元素(elements組成,這些元素可以用來包圍不同部分的內(nèi)容,使其以某種方式呈現(xiàn)或者工作。 一對(duì)標(biāo)簽( tags)可以為一段文字或者一張圖片添加超鏈接,將文字設(shè)置為斜體,改變字號(hào),等等。 例如,鍵入下面一行內(nèi)容:

          學(xué)前端,關(guān)注艾編程

          可以將這行文字封裝成一個(gè)段落(paragraph)元素來使其在單獨(dú)一行呈現(xiàn):

          <p>學(xué)前端,關(guān)注艾編程</p>

          HTML 元素詳解

          讓我們深入探索一下這個(gè)段落元素。

          這個(gè)元素的主要部分有:

          屬性應(yīng)該包含:

          1. 在屬性與元素名稱(或上一個(gè)屬性,如果有超過一個(gè)屬性的話)之間的空格符。
          2. 屬性的名稱,并接上一個(gè)等號(hào)。
          3. 由引號(hào)所包圍的屬性值。

          注:不包含 ASCII 空格(以及 " ' ``=<>` )的簡單屬性值可以不使用引號(hào),但是建議將所有屬性值用引號(hào)括起來,這樣的代碼一致性更佳,更易于閱讀。

          嵌套元素

          也可以將一個(gè)元素置于其他元素之中 —— 稱作嵌套。要表明貓咪非常暴躁,可以將 “艾編程” 用 <strong> 元素包圍,爆字將突出顯示:

          <p>學(xué)編程,關(guān)注<strong>艾編程</strong>:)</p>

          必須保證元素嵌套次序正確:本例首先使用 <p>標(biāo)簽,然后是<strong>標(biāo)簽,因此要先結(jié)束<strong>標(biāo)簽,最后再結(jié)束</p>標(biāo)簽。以下這個(gè)示例就是一個(gè)錯(cuò)誤的示范,這樣是不對(duì)的:

          <p>學(xué)編程,關(guān)注<strong>艾編程</p></strong>

          元素必須正確地開始和結(jié)束,才能清楚地顯示出正確的嵌套層次。否則瀏覽器就得自己猜測,雖然它會(huì)竭盡全力,但很大程度不會(huì)給你期望的結(jié)果。所以一定要避免!

          空元素

          不包含任何內(nèi)容的元素稱為空元素。比如 `` 元素:

          <img src="images/icodingedulgo.png" alt="艾編程logo">

          本元素包含兩個(gè)屬性,但是并沒有 </img> 結(jié)束標(biāo)簽,元素里也沒有內(nèi)容。這是因?yàn)閳D像元素不需要通過內(nèi)容來產(chǎn)生效果,它的作用是向其所在的位置嵌入一個(gè)圖像。

          HTML 文檔詳解

          以上介紹了一些基本的 HTML 元素,但孤木不成林。現(xiàn)在來看看單個(gè)元素如何彼此協(xié)同構(gòu)成一個(gè)完整的 HTML 頁面。回顧 文件處理 小節(jié)中創(chuàng)建的 index.html 示例:

          <!DOCTYPE html>
          <html>
            <head>
              <meta charset="utf-8">
              <title>入門學(xué)前端的博客,艾編程博客</title>
            </head>
            <body>
              <img src="images/icodingedulgo.png" alt="艾編程logo">
            </body>
          </html>

          這里有:

          • <!DOCTYPE html> — 文檔類型。混沌初分,HTML 尚在襁褓(大約是 1991/92 年)之時(shí),DOCTYPE 用來鏈接一些 HTML 編寫守則,比如自動(dòng)查錯(cuò)之類。DOCTYPE 在當(dāng)今作用有限,僅用于保證文檔正常讀取。現(xiàn)在知道這些就足夠了。
          • <html></html> — `` 元素。該元素包含整個(gè)頁面的內(nèi)容,也稱作根元素。
          • <head></head> — `` 元素。該元素的內(nèi)容對(duì)用戶不可見,其中包含例如面向搜索引擎的搜索關(guān)鍵字keywords、頁面描述、CSS 樣式表和字符編碼聲明等。
          • <meta charset="utf-8"> — 該元素指定文檔使用 UTF-8 字符編碼 ,UTF-8 包括絕大多數(shù)人類已知語言的字符。基本上 UTF-8 可以處理任何文本內(nèi)容,還可以避免以后出現(xiàn)某些問題,沒有理由再選用其他編碼。
          • <title></title> — `` 元素。該元素設(shè)置頁面的標(biāo)題,顯示在瀏覽器標(biāo)簽頁上,也作為收藏網(wǎng)頁的描述文字。
          • <body></body> — `` 元素。該元素包含期望讓用戶在訪問頁面時(shí)看到的內(nèi)容,包括文本、圖像、視頻、游戲、可播放的音軌或其他內(nèi)容。

          圖像

          重溫一下 `` 元素:

          <img src="images/icodingedulogo.png" alt="艾編程logo">

          像之前所講,該元素通過包含圖像文件路徑的地址屬性 src,可在所在位置嵌入圖像。

          該元素還包括一個(gè)替換文字屬性 alt,是圖像的描述內(nèi)容,用于當(dāng)圖像不能被用戶看見時(shí)顯示,不可見的原因可能是:

          1、用戶有視覺障礙。視障用戶可以使用屏幕閱讀器來朗讀 alt 屬性的內(nèi)容。

          2、有些錯(cuò)誤使圖像無法顯示。可以試著故意將 src 屬性里的路徑改錯(cuò)。保存并刷新頁面就可以在圖像位置看到:



          alt 屬性的關(guān)鍵字即“描述文本”。alt 文本應(yīng)向用戶完整地傳遞圖像要表達(dá)的意思。用 "測試圖片" 來描述 Firefox 標(biāo)志并不合適,修改成 "Firefox 標(biāo)志:一只盤旋在地球上的火狐" 就好多了。

          可以試著為圖像編寫一些更好的 alt 文本。

          標(biāo)記文本

          本段包含了一些最常用的文本標(biāo)記 HTML 元素。

          標(biāo)題(Heading)

          標(biāo)題元素可用于指定內(nèi)容的標(biāo)題和子標(biāo)題。就像一本書的書名、每章的大標(biāo)題、小標(biāo)題,等。HTML 文檔也是一樣。HTML 包括六個(gè)級(jí)別的標(biāo)題, <H1> (en-US)–<h6> (en-US) ,一般最多用到 3-4 級(jí)標(biāo)題。

          <h1>主標(biāo)題</h1>
          <h2>頂層標(biāo)題</h2>
          <h3>子標(biāo)題</h3>
          <h4>次子標(biāo)題</h4>

          可以嘗試在 `` 元素上面添加一個(gè)合適的標(biāo)題。

          注:可以發(fā)現(xiàn) MDN 網(wǎng)站上 第一級(jí)標(biāo)題的主題是隱藏的。不要使用標(biāo)題元素來加大、加粗字體,因?yàn)闃?biāo)題對(duì)于 無障礙訪問 和 搜索引擎優(yōu)化 等問題非常有意義。要保持頁面結(jié)構(gòu)清晰,標(biāo)題整潔,不要發(fā)生標(biāo)題級(jí)別跳躍。

          段落(Paragraph)

          如上文所講,<P> 元素是用來指定段落的。通常用于指定常規(guī)的文本內(nèi)容:

          <p>這是一個(gè)段落</p>

          試著添加一些文本(在 設(shè)計(jì)網(wǎng)站的外觀 小節(jié))到一個(gè)或幾個(gè)段落中,并把它們放在你的 `` 元素下方。

          列表(List)

          Web 上的許多內(nèi)容都是列表,HTML 有一些特別的列表元素。標(biāo)記列表通常包括至少兩個(gè)元素。最常用的列表類型為:

          1、無序列表(Unordered List中項(xiàng)目的順序并不重要,就像購物列表。用一個(gè) <ul> 元素包圍。

          2、有序列表(Ordered List)中項(xiàng)目的順序很重要,就像烹調(diào)指南。用一個(gè) <ol> 元素包圍。

          列表的每個(gè)項(xiàng)目用一個(gè)列表項(xiàng)目(List Item)元素 <li> 包圍。

          比如,要將下面的段落片段改成一個(gè)列表:

          <p>艾編程是一個(gè)綜合性的web前端編程學(xué)習(xí)網(wǎng)站,
                 包含了html、css、JavaScript等系列知識(shí)……</p>

          可以這樣更改標(biāo)記:

          <p>Mozilla 艾編程是一個(gè)綜合性的web前端編程學(xué)習(xí)網(wǎng)站。包含了</p>
          
          <ul>
            <li>html</li>
            <li>css</li>
            <li>JavaScript</li>
          </ul>
          
          <p>等系列知識(shí)……</p>

          試著在示例頁面中添加一個(gè)有序列表和無序列表。

          鏈接

          鏈接非常重要 — 它們賦予 Web 網(wǎng)絡(luò)屬性。要植入一個(gè)鏈接,我們需要使用一個(gè)簡單的元素 — <a> — a 是 "anchor" (錨)的縮寫。要將一些文本添加到鏈接中,只需如下幾步:

          1. 選擇一些文本。比如 “艾編程前端”。
          2. 將文本包含在<a>元素內(nèi),就像這樣:
          3. <a>艾編程前端</a>
          4. 為此<a>元素添加一個(gè)href屬性,就像這樣:
          5. <a href="">艾編程前端</a>
          6. 把屬性的值設(shè)置為所需網(wǎng)址:
          7. <a href="https://www.icodingedu.com/">艾編程前端</a>

          如果網(wǎng)址開始部分省略了 https:// 或者 http://,可能會(huì)得到錯(cuò)誤的結(jié)果。在完成一個(gè)鏈接后,可以試著點(diǎn)擊它來確保指向正確。

          href 這個(gè)名字可能開始看起來有點(diǎn)令人費(fèi)解,代表超文本引用( hypertext reference)。

          現(xiàn)在就為頁面添加一個(gè)鏈接吧。

          小結(jié)

          如果你一直跟著這篇文章里的指導(dǎo)做的話,你應(yīng)該完成了一個(gè)像下面這樣的頁面:

          代碼部分:

          <!DOCTYPE html>
          <html>
            <head>
              <meta charset="utf-8">
              <title>艾編程前端</title>
            </head>
            <body>
              <h1>艾編程前端示例頁面</h1>
              <img src="https://www.icodingedu.com/files/system/2019/09-25/22132557f330499313.png" alt="艾編程logo整體以盾型為外輪廓設(shè)計(jì),以代碼符號(hào)””為基礎(chǔ)圖形進(jìn)行抽象畫變形,中間的“/”符號(hào)用首字母“i”替代,同時(shí)也是諧音“愛”,象征著美好">
          
              <p>艾編程是一個(gè)綜合性的web前端編程學(xué)習(xí)網(wǎng)站。包含了</p>
          
              <ul>
                <li>html</li>
                <li>css</li>
                <li>JavaScript </li>
              </ul>
          
              <p>等系列知識(shí)……</p>
          
              <p>為了讓您更好的學(xué)好前端編程,請(qǐng)參閱 <a href="https://www.icodingedu.com/">艾編程</a></p>
            </body>
          </html>

          你學(xué)到了嗎?如果有幫助記得關(guān)注收藏點(diǎn)贊哦!

          頁Web應(yīng)用是當(dāng)今網(wǎng)站開發(fā)技術(shù)的弄潮兒,很多傳統(tǒng)網(wǎng)站都在或者已經(jīng)轉(zhuǎn)型為單頁Web應(yīng)用,新的單頁Web應(yīng)用網(wǎng)站(包括移動(dòng)平臺(tái)上的)也如雨后春筍般涌現(xiàn)在人們的面前,如Gmail、Evernote、Trello等。

          什么是單頁面應(yīng)用程序

          單頁面應(yīng)用應(yīng)用(即Single-page App,以下簡稱SPA),就是只有一張Web頁面的應(yīng)用。單頁應(yīng)用程序 (SPA) 是加載單個(gè)HTML 頁面并在用戶與應(yīng)用程序交互時(shí)動(dòng)態(tài)更新該頁面的Web應(yīng)用程序。瀏覽器一開始會(huì)加載必需的HTML、CSS和JavaScript,所有的操作都在這張頁面上完成,都由JavaScript來控制。因此,對(duì)單頁應(yīng)用來說模塊化的開發(fā)和設(shè)計(jì)顯得相當(dāng)重要。單頁Web應(yīng)用(single page web application,SPA),就是只有一張Web頁面的應(yīng)用。單頁應(yīng)用程序 (SPA) 是加載單個(gè)HTML 頁面并在用戶與應(yīng)用程序交互時(shí)動(dòng)態(tài)更新該頁面的Web應(yīng)用程序。瀏覽器一開始會(huì)加載必需的HTML、CSS和JavaScript,所有的操作都在這張頁面上完成,都由JavaScript來控制。因此,對(duì)單頁應(yīng)用來說模塊化的開發(fā)和設(shè)計(jì)顯得相當(dāng)重要。

          以前,瀏覽器會(huì)收到來自服務(wù)器的HTML。當(dāng)用戶訪問另一個(gè)URL地址時(shí),需要全頁刷新,服務(wù)器也會(huì)發(fā)送全新HTML。這就是所謂的服務(wù)器端渲染。

          但是,在現(xiàn)代SPA中,客戶端渲染已經(jīng)取代了服務(wù)器端渲染。瀏覽器會(huì)先從服務(wù)器上加載出最初圖像,和包括框架、庫和應(yīng)用代碼在內(nèi)的腳本,以及整個(gè)應(yīng)用所需的樣式表。當(dāng)用戶訪問其他頁面時(shí),頁面將不會(huì)進(jìn)行整體刷新,而是通過HTML5 History API對(duì)頁面地址進(jìn)行更新。以JSON形式呈現(xiàn)出來的新頁面所需的新數(shù)據(jù),將會(huì)通過向服務(wù)器發(fā)出的AJAX請(qǐng)求,由瀏覽器檢索進(jìn)行檢索。接著,SPA會(huì)通過原先在頁面中下載好的JavaScript,來對(duì)頁面數(shù)據(jù)進(jìn)行動(dòng)態(tài)更新。

          SPA特點(diǎn)

          速度:更好的用戶體驗(yàn),讓用戶在web app感受native app的速度和流暢,

          MVC:經(jīng)典MVC開發(fā)模式,前后端各負(fù)其責(zé)。

          ajax:重前端,業(yè)務(wù)邏輯全部在本地操作,數(shù)據(jù)都需要通過AJAX同步、提交。

          路由:在URL中采用#號(hào)來作為當(dāng)前視圖的地址,改變#號(hào)后的參數(shù),頁面并不會(huì)重載。

          SPA開發(fā)流程

          用循環(huán)的視角審視Web應(yīng)用開發(fā)

          框定一個(gè)一致的SPA圖形用戶界面(GUI)和模型

          將SPA的原則帶回服務(wù)器端

          聚集于對(duì)合適的應(yīng)用進(jìn)行早期SPA開發(fā)

          SPA的優(yōu)點(diǎn)

          1.應(yīng)用針對(duì)用戶操作給出的反應(yīng)更加靈敏,不會(huì)由于頁面整體刷新而出現(xiàn)閃退;

          2.向服務(wù)器發(fā)送的HTTP請(qǐng)求減少,無需在每一頁進(jìn)行重復(fù)下載;

          3.用戶和服務(wù)器劃分明確,無需修改服務(wù)器代碼就可以輕松為新用戶創(chuàng)建不同平臺(tái)。另外,只要不違背API規(guī)則,還可以分別對(duì)用戶和服務(wù)器的技術(shù)堆棧進(jìn)行修改。

          SPA的缺點(diǎn)

          1.最開始的加載任務(wù)較重,包括框架和應(yīng)用代碼等;

          2.需要對(duì)服務(wù)器進(jìn)行額外的配置操作,讓它將所有請(qǐng)求匯集到同一個(gè)進(jìn)入點(diǎn);

          3.SPA依靠JavaScript來呈現(xiàn)內(nèi)容,但并不是所有搜索引擎都能夠在爬蟲過程中執(zhí)行JavaScript。這一點(diǎn),無疑會(huì)對(duì)應(yīng)用的搜索引擎優(yōu)化帶來負(fù)面影響。


          SSL證書是HTTP明文協(xié)議升級(jí)HTTPS加密協(xié)議的重要渠道,是網(wǎng)絡(luò)安全傳輸?shù)募用艿酵ǖ馈jP(guān)于更多SSL證書的資訊,請(qǐng)關(guān)注GDCA(數(shù)安時(shí)代)。GDCA致力于網(wǎng)絡(luò)信息安全,已通過WebTrust 的國際認(rèn)證,是全球可信任的證書簽發(fā)機(jī)構(gòu)。GDCA專業(yè)技術(shù)團(tuán)隊(duì)將根據(jù)用戶具體情況為其提供最優(yōu)的產(chǎn)品選擇建議,并針對(duì)不同的應(yīng)用或服務(wù)器要求提供專業(yè)對(duì)應(yīng)的HTTPS解決方案。

          文章轉(zhuǎn)載:https://www.trustauth.cn/wiki/19993.html


          主站蜘蛛池模板: 日韩精品一区二区三区不卡| AV鲁丝一区鲁丝二区鲁丝三区 | 中文字幕一区二区三区视频在线| 极品尤物一区二区三区| 色狠狠色狠狠综合一区| 精品无码国产AV一区二区三区| 国产一区中文字幕在线观看| 中日av乱码一区二区三区乱码 | 亚洲第一区视频在线观看| 国产精品第一区揄拍| 日韩免费一区二区三区| 国产情侣一区二区三区| 亚洲一区免费观看| 久久一区二区三区精华液使用方法| 精品国产一区二区三区久久影院| 亚洲免费一区二区| 人妻无码一区二区三区AV| 国产一区高清视频| 日本午夜精品一区二区三区电影 | 人妻无码一区二区视频| 国产av天堂一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 国产精品久久无码一区二区三区网 | 国产激情一区二区三区成人91| 亚洲av一综合av一区| 国产精品一区二区四区| 久久99精品波多结衣一区| 午夜性色一区二区三区不卡视频 | 国产成人av一区二区三区不卡| 视频一区二区三区在线观看| 中文字幕AV一区中文字幕天堂| 亚洲中文字幕在线无码一区二区| 色视频综合无码一区二区三区 | 亚洲日韩一区二区一无码| 一区二区三区四区视频在线| 成人免费观看一区二区| 中文字幕一区二区三区有限公司| 亚洲色大成网站www永久一区| 国产伦精品一区二区三区视频小说| 中文字幕亚洲一区二区三区| 日本香蕉一区二区三区|