手機網(wǎng)站前端開發(fā)技巧,如何調(diào)試移動端的前端開發(fā)?
謝謝邀請!
作為一名前端,小生70%的工作都是在做移動端的開發(fā),在移動端上開發(fā)web應(yīng)用是不能借助強大的chrome debug工具的,沒有控制臺,不能打斷點,跟不了代碼邏輯,還看不見dom樹,調(diào)試起來比較困難,下面我來談?wù)勎业恼{(diào)試經(jīng)驗!
1、alert
雖然用不了
console.log
,但是alert還是可以用的,會在手機上彈出一個框,至少可以打印一些字符串和數(shù)字,如果需要打印對象,要不對象序列化一下!用它可以判斷我們的代碼有沒有更新,代碼有沒有走到指定的邏輯以及輸出是不是想要的值!
2、background
背景色在調(diào)試css樣式時比較好用,比如我們有時會遇到布局不符合預(yù)期的情況,但是不清楚是哪個dom節(jié)點導(dǎo)致的,可以給dom節(jié)點加背景色,每個dom節(jié)點所占的區(qū)域一目了然,進(jìn)而判斷哪個節(jié)點的樣式出了問題!
3、二分刪除法
當(dāng)你在調(diào)試一個非常復(fù)雜的頁面時,你很難快速確定問題所在,特別是你突然被抓去調(diào)試一個陌生的頁面!怎么辦?我的殺手锏就是刪代碼,以每次刪除一半(具體刪除多少自己決定),刪完至少保證語法沒問題!看看需要解決的問題還在不在,如果還存在,就繼續(xù)刪,如果不存在了,那問題就在自己剛剛刪除的代碼片段里面,繼續(xù)縮小范圍!還有一個場景,就是如果你的代碼依賴別人的代碼,出了問題,你可以用此招快速定位是不是自己的問題,如果不是趕緊甩鍋!
4、Fiddler/Charles
window上用Fiddler,mac上用Charles,都可以用來代理本地文件!修改了本地的代碼,就可以代理到自己的手機上!上面的三個方法可以基于代理來使用!5、safari開發(fā)者工具
打開蘋果手機的web inspector,在mac上打開safari,菜單欄中顯示“開發(fā)”菜單。用iphone usb插線連接mac,在safari中訪問頁面,在mac的菜單欄里面就可以找到對應(yīng)的手機頁面,點開會出來一個safari的控制臺,長得幾乎和chrome控制臺一樣,然后就可以方便的調(diào)試!缺點:必須要有mac,而且只能蘋果safari,局限性比較大!
6、vconsole
想過自己開發(fā)一款移動端控制臺嗎?騰訊的前端就開發(fā)了一款移動端調(diào)試模塊!
https://github.com/Tencent/vConsole
,umd規(guī)范,直接放在自己的代碼就行,小伙伴們自己去試一試吧!
7、集思廣益
大家有什么好點子,可以寫在評論里,大家一起分享一下!
喜歡我的回答就點贊關(guān)注我吧,有問題可以發(fā)表評論,我們一起學(xué)習(xí),共同成長!
現(xiàn)在做web前端是不是必須會小程序開發(fā)?
首先我們先看web前端需要掌握哪些知識:
一、HTML、CSS基礎(chǔ)、JavaScript語法基礎(chǔ)。學(xué)完基礎(chǔ)后,可以仿照電商網(wǎng)站(例如京東、小米)做首頁的布局。
二、JavaScript語法進(jìn)階。包括:作用域和閉包、this和對象原型等。相信我,JS語法,永遠(yuǎn)是面試中最重要的部分。
三、jQuery、Ajax等。jQuery沒有過時,它仍然是前端基礎(chǔ)的一部分。
四、ES6語法。這部分屬于JS新增的語法,面試必問。其中,關(guān)于 promise、async 等內(nèi)容要尤其關(guān)注。
五、HTML5和CSS3。要熟悉其中的新特性。
六、canvas。面試時,有的公司不一定會問canvas,靠運氣。如果時間不夠,這部分的內(nèi)容可以先不學(xué)。但如果你會,絕對屬于加分項。
七、移動Web開發(fā)、Bootstrap等。要注意移動開發(fā)中的適配和兼容性問題。
八、前端框架:Vue.js和React。這兩個框架至少要會一個。入門時,建議先學(xué)Vue.js,上手相對容易。但無論如何,同時掌握 Vue 和 React 才是合格的前端同學(xué)。
九、Node.js。屬于加分項,如果時間不夠,可以先不學(xué),但至少要知道 node 環(huán)境的配置。
十、自動化工具:構(gòu)建工具 Webpack、構(gòu)建工具 gulp、CSS 預(yù)處理器 Sass 等。注意,Sass 比 Less 用得多,gulp 比 grunt 用得多。
十一、前端綜合:HTTP協(xié)議、跨域通信、安全問題(CSRF、XSS)、瀏覽器渲染機制、異步和單線程、頁面性能優(yōu)化、防抖動(Debouncing)和節(jié)流閥(Throtting)、lazyload、前端錯誤監(jiān)控、虛擬DOM等。
十二、編輯器相關(guān)。Sublime Text 是每個學(xué)前端的人都要用到的編輯器。另外,前端常見的IDE有兩個:WebStorm 和 Visual Studio Code。WebStorm 什么都好,可就是太卡頓;VS Code就相對輕量很多。個人總結(jié)一下:用VS Code 的人越來越多,用 WebStorm 的人越來越少。
十三、TypeScript(簡稱TS)。ES 是 JS 的標(biāo)準(zhǔn),TS 是 JS 的超集。TS屬于進(jìn)階內(nèi)容,建議把上面的基礎(chǔ)掌握之后,再學(xué)TS。
而小程序?qū)儆谝苿觲eb開發(fā)和前端框架,所以我的觀點是只要你前端基礎(chǔ)夠扎實,是可以不用學(xué)習(xí)小程序開發(fā)的。
我一直堅信,對于程序員學(xué)習(xí)來說,我們首先要做好公司業(yè)務(wù)上的事,學(xué)習(xí)跟公司業(yè)務(wù)相關(guān)的技能框架,需要用的時候再去學(xué)習(xí),當(dāng)然平時工作完成了,也可以學(xué)習(xí)自己喜歡的內(nèi)容。
app前端開發(fā)用什么語言?
開發(fā)APP用的語言如下:
1、運行在手機端的應(yīng)用(APP)主要有三個平臺,安卓,iOS,WP。
2、安卓應(yīng)用前端是基于java的,要會java語言,前端也就是在使用一款A(yù)PP的時候能夠看見的部分,但是大部分?jǐn)?shù)據(jù)的處理是通過服務(wù)端進(jìn)行的,這就又要學(xué)習(xí)一些服務(wù)端的語言,php,jsp等。
3、iOS應(yīng)用前端是基于object-C的,所以要會OC這個語言,新發(fā)布的語言swift也可以進(jìn)行iOS應(yīng)用前端的開發(fā),后臺語言與安卓類似。
4、WP應(yīng)用前端是C#開發(fā)的。還有一個就是基于web開發(fā)的手機APP前端,就是html+css+js這三種語言。可以在任何系統(tǒng)上運行。