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