程序員技術分享html5和JavaScript的區別,HTML5廣義上講是前端開發學科的代名詞,包含HTML5、CSS3及JavaScript三個重要的部分,是運行在瀏覽器上應用的統稱。如PC端網站、管理系統、手機網頁應用(WebApps)、混合應用(HybridApps)、微信公眾號、小程序、小游戲、數據可視化等。
HTML5狹義上講是指HTML版本5(v5),相較HTML4,增加了很多新的元素(標簽)和元素屬性,大大增強了HTML的語義化和表現力,這一部分屬于頁面結構的內容,比如媒體標簽video、audio,畫布canvas標簽,這三個新標直接K.O了flash。另外,HTML5增加了很多API,為移動APP開發奠定了堅實的基礎,比如優化了本地存儲(WebStorage)、應用的離線緩存(Application Cache)、地理定位(Geolocation)、監聽網絡狀態等。
上述的HTML5新增的API就是通過JavaScript來調用的,或者本身就是JavaScript程序。下面列示一些重要的API:
以上可見,HTML5新增的API,是離不開JavaScript的,JavaScript是前端開發的核心,只學HTML5,或者說只學HTML5標簽是不能進行前端開發的,或者這樣說本來就是不全面的,因為HTML5是包含JavaScript Api的。
目前,大前端的概念已經深入人心,大前端開發的職業前景越發的廣闊,Google fluter,人工智能(AI)在前端的應用賦能大前端開發,使這些從業者越來越搶手。
大前端開發包括很多內容: HTML5,CSS3,JavaScript,ES,TypeScript,BootStrap,jQuery,Vue.js, React, RN, Angular, 各類小程序,JavaScript庫,前端開發工具,Node.js,狀態管理,桌面開發(Electron), 前端單元測試,服務器,Socket編程,服務端渲染,前端架構等等。
小白入門,一時間還真有點無從下手。如果基礎好,自學能力強,自制能力強,可以買些書籍或視頻學習,如果想系統的短期速成,可以考慮報個培訓班。
希望能幫到你,祝你早日煉成前端達人。
avaScript 程序不能獨立運行,它需要被嵌入 HTML 中,然后瀏覽器才能執行 JavaScript 代碼。通過 <script> 標簽將 JavaScript 代碼引入到 HTML 中,有兩種方式:
1.內部方式
內部方式是通過<script>標簽包裹JavaScript代碼,從而引入HTML頁面中,示例代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript 基礎 - 引入方式</title>
</head>
<body>
<!-- 內聯形式:通過 script 標簽包裹 JavaScript 代碼 -->
<script>
alert('嗨,歡迎來傳智播學習前端技術!')
</script>
</body>
</html>
2.外部形式
一般將 JavaScript 代碼寫在獨立的以 .js 結尾的文件中,然后通過 <script>標簽的 <src>屬性引入,示例代碼如下:
// demo.js
document.write('嗨,歡迎來傳智播學習前端技術!')
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript 基礎 - 引入方式</title>
</head>
<body>
<!-- 外部形式:通過 script 的 src 屬性引入獨立的 .js 文件 -->
<script src="demo.js"></script>
</body>
</html>
注意:如果 script 標簽使用 src 屬性引入了某 .js 文件,那么 標簽的代碼會被忽略!!!如下代碼所示:
種新興技術的更新速度要遠遠要超過現實開發中使用迭代的速度,作為這個技術時代最為敏感的開發者,如果只是因為當前該門技術火熱,就要立即 Get 它,或許是一種錯誤的思維。在本文中,我們將以最常用的編程語言 JavaScript 為例,分享如何正確對待技術熱潮。
作者 | Nikola ?uza
譯者 | 香檳超新星,責編 | 屠敏
出品 | CSDN(ID:CSDNnews)
以下為譯文:
現在的情況是這樣的:你在瀏覽器中輸入twitter.com,然后就看到某人發了一條關于如何使用React Hooks的新推文。但是,由于某些原因,你的公司或團隊尚未切換到Hooks,又或者,也許你們已經在用了,但不是以新的“流行”的那種方式用。也許你們用的是Vue.js或Angular,但是現在這些關于React Hooks的信息隨處可見,甚至你會覺得在晚飯的時候,關于React Hooks的消息幾乎都要出現在你的微波爐上了。
鑒于現在這種情況,你開始質疑,自己的代碼庫中的內容是否正確?是不是應該使用剛剛看的技術文章內容來重構這塊邏輯?隨著心中的疑問告一段落,你開始想象實際代碼的樣子。
而現在,你突然有了使用它的沖動。你聯系團隊負責人,或者向整個團隊發消息,把這個超酷的新方法告訴他們,并建議開始使用它。
重寫代碼
(圖片大意:這次你選的庫和構建工具肯定是正確的了,真實世界:每六個月重寫一遍你的前端代碼)
前段時間,@ ThePracticalDev 的Twitter帳號上發表了一本不存在的書的封面。早在2016年,開玩笑揶揄不斷變化的JavaScript世界就已經是一種時尚了,但方式和當今有所不同。
噓,我發明了時光機(不要告訴別人)!讓我們快速穿越回到2016年。
咻!好了咱們到了。現在JavaScript的環境是這樣的:
如果你已經在使用JavaScript框架了,或者想要使用,則可能會選擇Angular.js。但是,Angular 2馬上就要來臨,它的新特性會使得你需要重寫幾乎所有內容。另外,一個名為React.js的新秀即將成熟,馬上就要粉墨登場。當然,Vanilla JS和不使用框架的人也是存在的。在2016年,不使用框架仍然是一種流行的觀點,但是正在逐漸消亡中。
在了解了這一切之后,你會怎么做?你會選擇哪條路,理由又是什么?作為一個從未來穿越回來的人,現在答案似乎很明顯了,那就是React。但是,如果你決定使用Angular.js,在接下來的幾年里你將很容易受到誘惑而去使用新的Angular版本,并重寫代碼。如果你選擇使用React,那么你將是一個幸運的贏家,因為當今每個人都上了React這條船。而現在,你很想丟棄類組件,轉而使用那些美妙誘人的Hooks函數組件,對嗎?好吧,至少這不像Angular.js到Angular 2的跨度那么大,起碼不需要學習一個全新的API,對吧?
選擇太多,時間太少。該怎么辦?
我們現在選擇什么,或者我們過去選擇了什么都沒關系。我們仍然會被誘惑,或者不得不在日后重寫自己的代碼。原因可能是多種多樣的:
你的公司以前使用的是(任意框架名稱),并且無法雇用新員工
你覺得舊的解決方案不再適合自己,并且你想要新元素
你順應了行業趨勢,并希望使用最新和最好的技術。
除非我們打破這個循環。
打破循環
不斷改進,并發布更新更好版本的基因已深深刻入我們這個行業。對于更高效,更簡單,更美觀,更健壯解決方案的需求鞭策我們前進。破壞持續學習和進步的想法是與當今所有事物背道而馳的。我現在還不會去走這條路,但是如果你想在以后了解更多關于這方面的信息,請考慮訂閱我的newsletter。
不斷學習新事物的想法是好的,我對此也表示同意,但問題是應該多久學一次呢?縱觀JavaScript的世界,新的想法、博客文章、庫、框架以及諸如此類的東西你方唱罷我登場。當一樣東西流行起來,人們就迅速嘗試去采用。我并不是說你不應該擁抱新事物,或者不應該考慮采用不同的方法來解決問題,我完全不是這個意思。我想表達的是,這種事情能不能做得不要那么勤。
讓我們更加務實一點吧。我以前使用過axios,效果很好。你可以對其進行測試,支持廣泛,具有很高的得分(GitHub星標),等等。然后,我看到一篇博客文章,告訴大家要替換axios,實施自己的fetching logic。
在看了文章“用簡單的自定義fetch wrapper替換axios”的標題后,它吸引著你順著作者的思路從頭讀到尾。它使你質疑自己之前的選擇。
我不會詳細給你介紹是否應該采用帖子的做法,帖子本身已經說得很清楚了。然而我可以幫助你進行基本決策。
你現在對axios滿意嗎?如果答案是肯定的,則最好把替換它的想法放到一邊。axios對你或你的團隊來說很困難嗎?如果答案是肯定的,請嘗試聽從該帖子的建議,并看看效果如何。
簡而言之:不要輕信天花亂墜的宣傳。嘗試去“感受”哪個適合你,然后就選擇哪個。盡量不要屈服于浮華的新推文,博客文章,Hacker News熱門文章,應做或不應該做的熱門話題標簽。請繼續讀下去,以了解如何避免這種炒作驅動的開發。
HDD-炒作驅動開發(Hype Driven Development)
炒作在我們行業中很普遍。還記得NoSQL嗎?還有當每個人都對微服務愛的死去活來的那時候?或者AI /機器學習的大爆發?數都數不清。人們總是對新的突破性技術和想法感到興奮。Gartner的炒作周期曲線簡直太對了:
它展示的是新興技術的典型生命周期。你是否能想出自己正在使用的某樣東西可能正好落入圖表的某個階段?Ayman制作了更詳細的炒作周期圖:
在想追隨最近某個JS趨勢的時候想一下這個曲線,它處在哪個位置上?
如何對待技術熱潮?
這種炒作和興奮感有時在生活中還挺有用的。如果沒有它,生活將變得乏味而無聊。時不時地追隨一下熱點和潮流,可能會給人耳目一新的感覺,但是你始終應該先做好功課。
在嘗試采用全新的熱門庫或框架時,請記住這一點,向你自己和你的團隊提出以下問題:
在做決定之前進行研究和測試
閱讀博客文章,推文和公告也許有幫助,但要獲得最佳體驗,了解一樣東西適不適合自己,是需要去親身經歷的。試著用你打算使用的技術搭建一個原型出來。看看它與你正在做的其他事情配合得怎么樣。
如果你打算在團隊級施展某樣東西,那么可以試試團隊黑客馬拉松。黑客馬拉松是與團隊一起測試新技術的好方法,而且你可以盡情揮灑創造力來解決問題。然后,你可以與團隊進行某種回顧,討論技術的優缺點。
它能解決您的問題嗎?代價是多少?
你目前的方式是否存在某個特定的問題?如果是的話,請測試一下新技術是否能夠解決這個問題。學習這個技術需要多少時間?學習并重寫以前的解決方案是否值得?它會在多大程度上減慢你團隊的開發進度?
征求他人意見
如果你在小型公司工作,或你的團隊缺乏有經驗的成員,那這一項可能會比較難。試著去尋求架構師或高級工程師的意見吧。僅僅因為某些庫能夠為AirBnB及其網站提供良好的服務,并不意味著這對你而言也是最佳選擇,你可能忽略了它的某些方面。與經驗豐富的人交談有時是一種榮幸,如果可以,請不要浪費機會!
如果你是高級開發人員,請試著與初級開發或經驗不足的人聊聊。許多公司正在運行所謂的“反向指導”計劃,讓初級人員指導公司的高級成員。高級人員的經驗用來交換初級人員的新奇角度。你會驚訝地發現可以學習和分享的東西有很多。
總之,請不要因為自己剛剛看到了什么熱點內容就草率地做出決定。
原文:https://pragmaticpineapple.com/do-not-follow-javascript-trends/
作者簡介:Nikola ?uza,工作語言為JavaScript和Ruby,現居諾維薩德。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。