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
信息加速發(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)容只有:
那天晚上回家的時(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 不是一門編程語言,而是一種用于定義內(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>
讓我們深入探索一下這個(gè)段落元素。
這個(gè)元素的主要部分有:
屬性應(yīng)該包含:
注:不包含 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 元素,但孤木不成林。現(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>
這里有:
重溫一下 `` 元素:
<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)記 HTML 元素。
標(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í)別跳躍。
如上文所講,<P> 元素是用來指定段落的。通常用于指定常規(guī)的文本內(nèi)容:
<p>這是一個(gè)段落</p>
試著添加一些文本(在 設(shè)計(jì)網(wǎng)站的外觀 小節(jié))到一個(gè)或幾個(gè)段落中,并把它們放在你的 `` 元素下方。
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" (錨)的縮寫。要將一些文本添加到鏈接中,只需如下幾步:
如果網(wǎng)址開始部分省略了 https:// 或者 http://,可能會(huì)得到錯(cuò)誤的結(jié)果。在完成一個(gè)鏈接后,可以試著點(diǎn)擊它來確保指向正確。
href 這個(gè)名字可能開始看起來有點(diǎn)令人費(fèi)解,代表超文本引用( hypertext reference)。
現(xiàn)在就為頁面添加一個(gè)鏈接吧。
如果你一直跟著這篇文章里的指導(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
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。