h5開發(fā)入門(h5 開發(fā))
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于h5開發(fā)入門的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來(lái)看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀企業(yè),服務(wù)客戶遍布全國(guó),代運(yùn)營(yíng)相關(guān)業(yè)務(wù)請(qǐng)撥打175-8598-2043,或微信:1454722008
本文目錄:
一、怎樣制作一個(gè)H5頁(yè)面
1、準(zhǔn)備一個(gè)H5的制作工具,自行在百度搜索一下,這里以IH5為例,先注冊(cè)一個(gè)賬號(hào)。
2、依照要求填寫手機(jī)號(hào)、密碼等信息后登錄賬號(hào)。
3、在個(gè)人主頁(yè),點(diǎn)擊創(chuàng)建新作品。
4、選擇電腦版,點(diǎn)擊創(chuàng)建作品。
5、在編輯窗口的左側(cè),點(diǎn)擊插入圖片圖標(biāo)。選擇圖片、上傳。
6、顯示圖片。點(diǎn)擊窗口左側(cè)的事件圖標(biāo)。
7、在對(duì)象樹的列表里勾選圖片和事件1。
8、觸發(fā)條件選擇點(diǎn)中,目標(biāo)對(duì)象選擇圖片,目標(biāo)動(dòng)作選擇震動(dòng),時(shí)間選擇3秒。
9、點(diǎn)擊窗口上方的保存圖標(biāo)。輸入作品的標(biāo)題和介紹。
10、完成后即可查看作品。
二、H5和java還有c++,哪個(gè)技術(shù)的門檻比較高,哪個(gè)比較容易入手?
作為一個(gè)過來(lái)人,我總結(jié)一下我的看法:
1、H5是側(cè)重于頁(yè)面開發(fā),上手比較快,只要掌握html+css+javascript就可以了
2、java是服務(wù)端開發(fā)語(yǔ)言,這個(gè)入門較容易,但是深入學(xué)習(xí)難度會(huì)很大,用在互聯(lián)網(wǎng)開發(fā)的后臺(tái)服務(wù)
3、C++是最難入門的,對(duì)于新手是一個(gè)挑戰(zhàn),用在圖形化開發(fā)和游戲開發(fā)。
三、H5必知必會(huì)之與App交互
奇技指南
2018年11月26日發(fā)表的“360 AI音箱H5開發(fā)實(shí)踐”一文中,曾簡(jiǎn)單提到“與Native交互”。本文將就此主題深入探討H5與App交互的幾種常見模式。
本文內(nèi)容如下:
H5,在中國(guó)被專門用來(lái)指代開發(fā)內(nèi)嵌于手機(jī)應(yīng)用中的網(wǎng)頁(yè)的技術(shù),外國(guó)好像并沒有這個(gè)說法。從技術(shù)上講,H5是HTML5即Hyper Text Markup Language(超文本標(biāo)記語(yǔ)言)第5版的簡(jiǎn)稱。而HTML只是開發(fā)網(wǎng)頁(yè)要用到的多種技術(shù)之一。除了HTML,還要用CSS設(shè)計(jì)界面,用JavaScript實(shí)現(xiàn)交互,甚至要用Node.js實(shí)現(xiàn)服務(wù)端邏輯。為什么H5會(huì)被用來(lái)籠統(tǒng)地指代這些技術(shù)呢?我猜一是因?yàn)樗?jiǎn)單,二是移動(dòng)端網(wǎng)頁(yè)開發(fā)技術(shù)又恰好需要這么一個(gè)概念。
移動(dòng)端網(wǎng)頁(yè)運(yùn)行在手機(jī)應(yīng)用內(nèi)嵌的瀏覽器引擎中,這個(gè)沒有UI的內(nèi)核容器統(tǒng)稱WebView,即iPhone的UIWebView(iOS 2.0–12.0)、WKWebView(iOS 8.0+,macOS 10.10+)和Android的WebView??傊?,WebView就是在手機(jī)應(yīng)用中運(yùn)行和展示網(wǎng)頁(yè)的界面和接口(神奇的是,英文Interface,既可以翻譯成“界面”也可以翻譯成“接口”)。
H5與原生應(yīng)用的交互都是通過原生應(yīng)用中的WebView實(shí)現(xiàn)的。通過這個(gè)環(huán)境,H5可以調(diào)用原生應(yīng)用注入其中的原生對(duì)象的方法,原生應(yīng)用也可以調(diào)用H5暴露在這個(gè)環(huán)境中的JavaScript對(duì)象的方法,從而實(shí)現(xiàn)指令與數(shù)據(jù)的傳輸。
比如,在Android應(yīng)用中,WebView類有一個(gè)公有方法addJavascriptInterface,簽名為:
調(diào)用這個(gè)方法可以向WebView中以指定的名稱name注入指定的Java對(duì)象object。這樣,WebView中的JavaScript就可以通過name調(diào)用object的方法。比如:
在iOS或macOS中,需要通過創(chuàng)建WKWebView類的實(shí)例在應(yīng)用中嵌入網(wǎng)頁(yè),交互過程類似。
所謂基礎(chǔ)接口,就是首先要規(guī)定原生應(yīng)用和JS分別在WebView里注入/暴露一個(gè)什么對(duì)象:
并約定在這兩個(gè)對(duì)象上分別可以調(diào)用什么方法:
顧名思義,NativeBridge.callNative是由JS調(diào)用向Native傳遞指令或數(shù)據(jù)的方法,而JSBridge.callJS則是由Native調(diào)用向JS傳遞指令或數(shù)據(jù)的方法。方法簽名中的參數(shù)含義如下:
基礎(chǔ)接口只有兩個(gè)對(duì)象和兩個(gè)方法,JS與App間的互操作則通過action和params來(lái)擴(kuò)展和定義。
對(duì)于JS而言,雖然這里只定義了一個(gè)對(duì)象一個(gè)方法,但實(shí)踐中,可以把a(bǔ)ction對(duì)應(yīng)方法的實(shí)現(xiàn)附加到JSBridge上,只要把callJS實(shí)現(xiàn)為一個(gè)分發(fā)方法即可,比如:
這樣,所有對(duì)callJS的調(diào)用,都會(huì)轉(zhuǎn)化成對(duì)JSBridge上相應(yīng)action方法的調(diào)用,優(yōu)點(diǎn)是只需一行代碼。
另一種實(shí)現(xiàn)方式是通過switch...case語(yǔ)句實(shí)現(xiàn)調(diào)用分發(fā),比如:
這樣實(shí)現(xiàn)的優(yōu)點(diǎn)是所有方法一目了然,當(dāng)然同樣也是把所有相關(guān)接口都附加到同一個(gè)JSBridge對(duì)象上。
以上兩種實(shí)現(xiàn)模式各有利弊。
由JS發(fā)起的單向調(diào)用App的操作,主要涉及加載URL和切換到原生界面,可對(duì)應(yīng)如下action:
loadUrl調(diào)用的參考協(xié)議如下:
這里NativeBridge是App的原生對(duì)象,其callNative方法被調(diào)用時(shí),會(huì)收到一個(gè)對(duì)象(字典/映射)參數(shù)。根據(jù)這個(gè)參數(shù)的action屬性的值,App可知需要執(zhí)行的操作是加載URL。于是再取得params屬性中的url,發(fā)送請(qǐng)求即可。
loadContent調(diào)用的參考協(xié)議如下:
同上,這里通過params向App傳遞了必要參數(shù),App負(fù)責(zé)切換到相應(yīng)的原生界面。
由App發(fā)起的單向調(diào)用JS的操作,主要涉及用戶點(diǎn)擊后退按鈕(<),可對(duì)應(yīng)如下action:
can_back調(diào)用的參考協(xié)議如下:
此調(diào)用返回的值示例如下:
顧名思義,can_back用于App詢問JS:在返回上一級(jí)界面前,是否彈窗提示用戶?
返回值中的can如果是true,則直接返回,不提示;如果是false,則彈出一個(gè)確認(rèn)框,請(qǐng)用戶確認(rèn)。另一個(gè)值target是與App約定的返回目標(biāo),比如prev表示返回上一級(jí),top表示返回頂級(jí),等等。
雙向調(diào)用是JS先調(diào)用App,然后App在完成操作后再調(diào)用JS,雙向通常都需要傳遞數(shù)據(jù)。雙向調(diào)用主要涉及JS調(diào)用App原生組件和用戶點(diǎn)擊右上角按鈕,可對(duì)應(yīng)如下action:
loadComponent的參考協(xié)議如下:
在這個(gè)例子中,涉及JS調(diào)用App顯示其實(shí)現(xiàn)的城市選擇組件:type: 'location',用戶選擇完城市之后,App再調(diào)用set_location,將用戶選擇的城市名稱傳給JS:
JS根據(jù)拿到的值更新界面,完成一次雙向調(diào)用。另一個(gè)例子是JS調(diào)用原生的日期選擇組件,與此類似。
為什么叫displayNextButton?因?yàn)楦鶕?jù)具體業(yè)務(wù)場(chǎng)景,可能存在如下三種情況:
displayNextButton協(xié)議的參考實(shí)現(xiàn)如下:
以上代碼示例表明,JS調(diào)用App,告訴App顯示“下一步”按鈕,但是要禁用變灰,因?yàn)閑nable: false。如果傳遞的是enable: true,那么用戶就可以點(diǎn)擊“下一步”按鈕了。點(diǎn)擊之后,App再調(diào)用JS的save_form。最后,如果不想顯示按鈕,可以傳遞name: ''。
下面重點(diǎn)說一下用戶點(diǎn)擊“下一步”按鈕,App調(diào)用save_form的場(chǎng)景。此時(shí)也分兩種情況:
如果是JS通過App保存數(shù)據(jù)——可能因?yàn)锳pp端實(shí)現(xiàn)了數(shù)據(jù)寫入必需的加密機(jī)制——那么,JS可以在App調(diào)用save_form時(shí)將約定好的數(shù)據(jù)返回給App,由App去保存數(shù)據(jù)。
如果是JS直接保存數(shù)據(jù),比如通過Ajax,那么在保存完數(shù)據(jù)之后,則還需要調(diào)用前面所說的App暴露的loadUrl或loadComponent方法,以告知App切換界面。當(dāng)然這種情況下會(huì)出現(xiàn)第三次調(diào)用,但仍然屬于雙向調(diào)用。
本文介紹了JS與App交互的幾種模式,而且只討論了JS端的實(shí)現(xiàn)。在開發(fā)實(shí)踐中,團(tuán)隊(duì)各端總會(huì)面臨哪一端主導(dǎo)的問題。本文展示的參考實(shí)現(xiàn)就是H5端主導(dǎo)的一種實(shí)現(xiàn)形式。H5主導(dǎo)的特點(diǎn)是把主要業(yè)務(wù)邏輯都封裝到WebView中,App主要協(xié)同配合,而優(yōu)點(diǎn)是業(yè)務(wù)邏輯的變更不會(huì)蔓延到App。畢竟相對(duì)于H5,App的安裝部署模式會(huì)造成多版本共存問題,需要盡可能控制新版本。假如由App端主導(dǎo),將邏輯封裝在App端,勢(shì)必造成版本不受控,給整個(gè)項(xiàng)目或產(chǎn)品埋下隱患。
當(dāng)然,事無(wú)絕對(duì)。具體情況還要具體分析。而且,哪方主導(dǎo)有時(shí)候也取決多方面因素。實(shí)踐中還是要因人、因時(shí)、因勢(shì)制宜。
四、web前端開發(fā)需要掌握的幾個(gè)必備技術(shù)
接下來(lái)由小編簡(jiǎn)單的列舉出幾個(gè)前端開發(fā)中必須要學(xué)會(huì)的知識(shí):
第一階段:
HTML+CSS:
HTML進(jìn)階、CSS進(jìn)階、div+css布局、HTML+css整站開發(fā)、
JavaScript基礎(chǔ):
Js基礎(chǔ)教程、js內(nèi)置對(duì)象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時(shí)器和焦點(diǎn)圖。
JS基本特效:
常見特效、例如:tab、導(dǎo)航、整頁(yè)滾動(dòng)、輪播圖、JS制作幻燈片、彈出層、手風(fēng)琴菜單、瀑布流布局、滾動(dòng)事件、滾差視圖。
JS高級(jí)特征:
正則表達(dá)式、排序算法、遞歸算法、閉包、函數(shù)節(jié)流、作用域鏈、基于距離運(yùn)動(dòng)框架、面向?qū)ο蠡A(chǔ)、
JQuery:基礎(chǔ)使用
懸著器、DOM操作、特效和動(dòng)畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。
第二階段:
HTML5和移動(dòng)Web開發(fā)
HTML5:
HTML5新語(yǔ)義標(biāo)簽、HTML5表單、音頻和視頻、離線和本地存儲(chǔ)、SVG、WebSocket、Canvas.
CSS3:
CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動(dòng)畫、景深和深透、3D效果制作、Velocity.js框架、元素進(jìn)場(chǎng)、出場(chǎng)策略、炫酷CSS3網(wǎng)頁(yè)制作。
Bootstrap:
響應(yīng)式概念、媒體查詢、響應(yīng)式網(wǎng)站制作、刪格系統(tǒng)、刪格系統(tǒng)原理、Bootstrap常用模板、LESS和SASS。
移動(dòng)Web開發(fā):
跨終端WEB和主流設(shè)備簡(jiǎn)介、視口、流式布局、彈性盒子、rem、移動(dòng)終端JavaScript事件、手機(jī)中常見JS效果制作、Zepto.js、手機(jī)聚劃算頁(yè)面、手機(jī)滾屏。
第三階段:
HTTP服務(wù)和AJAX編程
WEB服務(wù)器基礎(chǔ):
服務(wù)器基礎(chǔ)知識(shí)、Apache服務(wù)器和其他WEB服務(wù)器介紹、Apache服務(wù)器搭建、HTTP介紹。
PHP基礎(chǔ):
PHP基礎(chǔ)語(yǔ)法、使用PHP處理簡(jiǎn)單的GET或者POST請(qǐng)求、
AJAX上篇:
Ajax簡(jiǎn)介和異步的概念、Ajax框架的封裝、XMLHttpRequest對(duì)象詳細(xì)介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。
AJAX下篇:
JSON和JSON解析、數(shù)據(jù)綁定和模板技術(shù)、JSONP、跨域技術(shù)、圖片預(yù)讀取和lazy-load技術(shù)、JQuery框架中的AjaxAPI、使用Ajax實(shí)現(xiàn)爆布流案例額。
第四階段:
面向?qū)ο筮M(jìn)階
面向?qū)ο蠼K極篇:
從內(nèi)存角度到理解JS面向?qū)ο?、基本類型、?fù)雜類型、原型鏈、ES6中的面向?qū)ο?、屬性讀寫權(quán)限、設(shè)置器、訪問器。
面向?qū)ο笕筇卣鳎?/p>
繼承性、多態(tài)性、封裝性、接口。
設(shè)計(jì)模式:
面向?qū)ο缶幊趟季S、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。
第五階段:
封裝一個(gè)屬于自己的框架
框架封裝基礎(chǔ):
事件流、冒泡、捕獲、事件對(duì)象、事件框架、選擇框架。
框架封裝中級(jí):
運(yùn)動(dòng)原理、單物體運(yùn)動(dòng)框架、多物體運(yùn)動(dòng)框架、運(yùn)動(dòng)框架面向?qū)ο蠓庋b。
框架封裝高級(jí)和補(bǔ)充:
JQuery框架雛形、可擴(kuò)展性、模塊化、封裝屬于傳智自己的框架。
第六階段:
模塊化組件開發(fā)
面向組件編程:
面向組件編程的方式、面向組件編程的實(shí)現(xiàn)原理、面向組件編程實(shí)戰(zhàn)、基于組件化思想開發(fā)網(wǎng)站應(yīng)用程序。
面向模塊編程:
AMD設(shè)計(jì)規(guī)范、CMD設(shè)計(jì)規(guī)范、RequireJS,LoadJS、淘寶的SeaJS。
第七階段:
主流的流行框架
Web開發(fā)工作流:
GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack。
MVC/MVVM/MVW框架:
Angular.js、Backbone.js、Knockout/Ember。
常用庫(kù):
React.js、Vue.js、Zepto.js。
第八階段:
HTML5原生移動(dòng)應(yīng)用開發(fā)
Cordova:
WebApp/NativeApp/HybirdApp簡(jiǎn)介、Cordova簡(jiǎn)介、與PhoneGap之間的關(guān)系、開發(fā)環(huán)境搭建、Cordova實(shí)戰(zhàn)(創(chuàng)建項(xiàng)目,配置,編譯,調(diào)試,部署發(fā)布)。
Ionic:
Ionic簡(jiǎn)介和同類對(duì)比、模板項(xiàng)目解析、常見組件及使用、結(jié)合Angular構(gòu)建APP、常見效果(下拉刷新,上拉加載,側(cè)滑導(dǎo)航,選項(xiàng)卡)。
ReactNative:
ReactNative簡(jiǎn)介、ReactNative環(huán)境配置、創(chuàng)建項(xiàng)目,配置,編譯,調(diào)試,部署發(fā)布、原生模塊和UI組件、原生常用API。
HTML5+:
HTML5+中國(guó)產(chǎn)業(yè)聯(lián)盟、HTML5PlusRuntime環(huán)境、HBuilder開發(fā)工具、MUI框架、H5+開發(fā)和部署。
第九階段:
Node.js全棧開發(fā):
快速入門:
Node.js發(fā)展、生態(tài)圈、Io.js、Linux/Windows/OSX環(huán)境配置、REPL環(huán)境和控制臺(tái)程序、異步編程,非阻塞I/O、模塊概念,模塊管理工具、開發(fā)流程,調(diào)試,測(cè)試。
核心模塊和對(duì)象:
全局對(duì)象global,process,console,util、事件驅(qū)動(dòng),事件發(fā)射器、加密解密,路徑操作,序列化和反序列化、文件流操作、HTTP服務(wù)端與客戶端。
Web開發(fā)基礎(chǔ):
HTTP協(xié)議,請(qǐng)求響應(yīng)處理過程、關(guān)系型數(shù)據(jù)庫(kù)操作和數(shù)據(jù)訪問、非關(guān)系型數(shù)據(jù)庫(kù)操作和數(shù)據(jù)訪問、原生的Node.js開發(fā)Web應(yīng)用程序、Web開發(fā)工作流、Node.js開發(fā)Blog案例。
快速開發(fā)框架:
Express簡(jiǎn)介+MVC簡(jiǎn)介、Express常用API、Express路由模塊、Jade/Ejs模板引擎、使用Express重構(gòu)Blog案例、Koa等其他常見MVC框架。
以上就是關(guān)于h5開發(fā)入門相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
公眾號(hào)和h5有什么區(qū)別(公眾號(hào)與h5區(qū)別)
索匯h5智能機(jī)器人怎么聯(lián)網(wǎng)(索匯h5智能機(jī)器人使用說明書)
cloudchat搜群機(jī)器人(群搜索機(jī)器人)