① 移動前端開發和 Web 前端開發的區別是什麼
移動前端開發和web前端開發都屬於前端開發,具體有以下區別。
1、業務的應用場景
web前端開發主要指傳統的PC端網頁開發,頁面主要是運行在PC端瀏覽器中,移動前端開發出來的頁面主要是運行在手機上。
直觀上會感覺,PC端頁面大一些,移動端頁面小一些,但是根據開發經驗,頁面大可並不代表書寫的代碼復雜,頁面小也並不意味著開發簡單,難與易主要還是取決於具體的業務需求。
2、新技術的使用
由於在移動端主要以webkit內核為主,對於HTML5等新技術支持的更好,所以可以更大范圍的使用新技術,而PC端開發由於很多場景下要求兼容IE等老版本瀏覽器,出於瀏覽器兼容性的考慮,有些情況下限制了新技術的使用。
5、框架選型
由於移動端網路情況的不穩定,導致我們在移動端頁面框架選型時,一般只考慮小而美的框架,例如像zepto.js這樣的壓縮之後只有9.6K,就能滿足一般業務的需要,如果是想要構建更復雜的單頁面應用,可以選擇像vue.js這樣的框架,功能強大,但體積壓縮後卻只有20多K。
而web端相對選擇的范圍就比較大,一些比較重型的框架也可以根據項目需求加以考慮,例如古老但龐大的ext.js,依然憑借著眾多UI組件活躍在一些企業的後台管理系統項目中。
② 作為一個移動端的前端開發需要具備什麼技能呢
學習前端首先要去學習一些html和css技術。iOS、Android、HTML5前景都是不錯的,可以看育知同創Mars視頻教程學習。
iOS與安卓的區別:
1、兩者運行機制不同:iOS採用的是沙盒運行機制,安卓採用的是虛擬機運行機制。
2、兩者後台制度不同:iOS中任何第三方程序都不能在後台運行;安卓中任何程序都能在後台運行,直到沒有內存才會關閉。
3、iOS中用於UI指令許可權最高,安卓中數據處理指令許可權最高。
4、發行的公司不同:iOS由美國蘋果公司開發更新;安卓由美國谷歌公司開發更新
5、免費與收費:iOS非開源的,需要收費的;安卓是開源的,任何人可以免費使用而不用交費
③ 前端開發app,你用什麼平台或軟體
android端java語言 在eclipse上。ios端object-c 在xcode上。電腦是windos要做ios就去裝個蘋果虛擬機來做。可以自己兩個基本了解下,哪個覺得簡單就哪個。光做個樣子出來還是簡單的
④ 移動前端開發和 Web 前端開發的區別是什麼
移動前端開發和 Web 前端開發的區別是:
1、前端是相對比較大的概念,一般是指用戶能夠看到、直接接觸的界面都算是前端,比如iOS界面,安卓界面,網頁界面,PC/Mac桌面軟體的界面。最常見的是Web前端,也就是針對於網頁端開發的工作。
2、Web App即Web application,也就是以瀏覽器作為客戶端的軟體。例如,用桌面客戶端來收發郵件,但也可以直接用瀏覽器登陸gmail或者QQ郵箱,直接使用網頁版的軟體來使用。總之就是使用網頁版代替本地軟體。
Mobile Web App就是在手機端打開的Web App。例如Gmail的移動端軟體
3、目前,移動客戶端的開發主要包括三種類型:
Native App(原生APP):也就是完全使用移動設備系統語言寫的客戶端。iOS系統就是使用Objective-C語言來編寫本地應用,也可以使用蘋果於2014年蘋果開發者大會上發布的SWIFT語言;Android平台就是使用Java語言來開發。原生APP就是從界面到交互都是使用官方標准語言來編寫,效率和穩定性都是最好的,但欠缺靈活性。
Web App:這個就是在移動瀏覽器里打開的,使用Web前端開發語言HTML CSS JavaScript來開發的,基本上就是個網頁,
Hybrid App:主要使用HTML5實現。一般使用Native語言實現一個容器,然後使用HTML CSS JS來實現用戶界面和交互。這樣方式既克服了Web App容器暴露偏底層的介面這樣的問題,同時比起原生的開發靈活性要高。這樣就更新可以更方便快捷,也不依賴於市場。例如,豌豆莢其實是個PC端的hybrid app 。
對於以上三種開發方式的比較和分析搜索引擎裡面有太多的內容了,這里也就不再贅述了。
4、移動端網頁布局方法與pc的差異。
主要是css方面,外加如何做到同一url,不同客戶端展現不一致的做法,俗稱pc和mobile都兼容。還有會說一下rem的相關用法和一段比較經典的rem.js
最後總結一下:
其實這兩者最顯著的區別就是,web app是不依賴於具體的設備的,通用性較強,只要手機或PC有相應內核的瀏覽器就基本OK。而mobile的app則依賴於具體的設備,一旦更換設備,需要重新下載才能繼續使用。
移動前端開發 主要來說的是Native Client的開發Android為Java,iOS為Objective-C,然後么HTML5應用號稱跨平台其實差異很大。
Web前端開發么基本上就是HTML JavaScript CSS,不過有些人把Servelt/JSP, PHP,Ruby,Python,C#之類的只要關繫到頁面的也叫做Web前端開發。
app是應用,每個操作系統有專門的開發工具和語言
web是網頁,使用html+css+js,有工具可以生成轉化為app,不過效果一般
⑤ 前端開發的基本方法
CSS部分
盒子邊傾斜
clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
禁止點擊事件/滑鼠事件「穿透」
div * { pointer-events: none; /*鏈接啊,點擊事件啊,都沒有效果了*/ }
用來控制元素在移動設備上使用滾動回彈效果
.main{
-webkit-overflow-scrolling: touch;
}
可解決在IOS中使用overflow:auto 形成的滾動條,滾動不流暢的情況
文字漸變效果
.text-gradient{ background-image: linear-gradient(135deg, deeppink, deepskyblue);
-webkit-background-clip: text; color: transparent;
}
css三角形
#triangle-up { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 100px solid red;
}
實現圓弧
clip-path: ellipse(80%60% at50%40%);
JS部分
JavaScript中檢測數組的方法
(1)、typeof操作符
這種方法對一些常用的類型檢查沒有問題,但對array和null 都判斷為object
(2)、instanceof操作符
這個操作符是檢測對象的原型鏈是否指向構造函數的prototype對象的
(3)、對象的constructor屬性
const arr = []
console.log(arr.constructor === Array) // true
(4)、Object.prototype.toString
constarr=[]console.log(Object.prototype.toString.call(arr)==='[objectArray]')//true
(5)、Array.isArray()
常用的字元串操作
字元串轉化toString()
字元串分隔split()
字元串替換replace()
獲取長度length
查詢子字元串 indexOf
返回指定位置的字元串或字元串編碼 charAt charCodeAt
字元串匹配 match
字元串拼接concat
字元串的切割或提取slice() substring() substr()
字元串大小寫轉化 toLowerCase toUpperCase
字元串去空格 trim() 用來刪除字元串前後的空格
- const str = '11122223333'const uniqueStr = [...new Set(str)].join('')
- arr.rece(callback,[initialValue])
- 跳過第一個索引。如果提供initialValue,從索引0開始。
- const arr = [1, 2, 3, 1, 2, 3]const uniqueArr = [...new Set(arr)]
- var a = {};Object.defineProperty(a, 'name', { value : 'kong', enumerable : true //該屬性是否可枚舉})
- function a(){}
- var b = new a();console.log(a.prototype.isPrototypeOf(b));//true
- if (/Android/gi.test(navigator.userAgent)) { window.addEventListener('resize', function () { if (document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA') { window.setTimeout(function () { document.activeElement.scrollIntoViewIfNeeded();
- }, 0);
- }
- });
- };
- /**
- * 向URL追加參數
- * @function stringifyUrlArgs
- * @param {string} url - URL路徑
- * @param {object} params - 參數對象
- * @return {string}
- const stringifyUrlArgs = (url, params) => {
- url += (/?/).test(url) ? '&' : '?'
- url += Object.keys(params).map(key => `${key}=${params[key]}`).join('&') return url
- }
- /**
- * 解析URL參數
- * @function parseUrlArgs
- * @param {string} url - 字元串
- * @return {object}export const parseUrlArgs = url => { const arr = url.match(/([^?=&]+)(=([^&]*))/g) || [] const args = arr.rece((a, v) => {
- a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1) return a
- }, {}) return args
- }
- NP.strip(num) // strip a number to nearest right numberNP.plus(num1, num2, num3, ...) // addition, num + num2 + num3, two numbers is required at least.NP.minus(num1, num2, num3, ...) // subtraction, num1 - num2 - num3NP.times(num1, num2, num3, ...) // multiplication, num1 * num2 * num3NP.divide(num1, num2, num3, ...) // division, num1 / num2 / num3NP.round(num, ratio) // round a number based on ratio
其中第9中三者的區別如下:
(1)slice(), 參數可以是負數,負數表示從字元串最後一個位置開始切割到對應結束位置
(2)substring(),參數不可為負數,切割第一個位置到第二個位置的字元串
(3)substr(), 參數可以是負數,第一個參數是開始位置,第二個參數為切割的長度
字元串去重
常用的數組操作
1、Array.map()
此方法是將數組中的每個元素調用一個提供的函數,結果作為一個新的數組返回,並沒有改變原來的數組
2、Array.forEach()
此方法是將數組中的每個元素執行傳進提供的函數,沒有返回值,注意和map方法區分
3、Array.filter()
此方法是將滿足條件的元素作為一個新數組返回
4、Array.every()
此方法將數組所有元素進行判斷返回一個布爾值,如果所有元素都符合判斷條件,則返回true,否則返回false
5、Array.some()
此方法將數組所有元素進行判斷返回一個布爾值,如果有一個元素滿足判斷條件,則返回true,所有元素都不滿足則返回false
6、Array.rece()
此方法為所有元素調用返回函數
7、Array.push()
在數組最後面添加新元素
8、Array.shift()
刪除數組第一個元素
9、Array.pop()
刪除數組最後一個元素
10、Array.unshift()
在數組最前面增加元素
11、Array.isArray()
判斷是否為一個數組
12、Array.concat()
數組拼接
13、Array.toString()
數組轉化為字元串
14、Array.join()
數組轉化為字元串,並用第一個參數作為連接符
15、Array.splice(開始位置,刪除個數,元素)
其中rece使用方法為:
callback (執行數組中每個值的函數,包含四個參數)
1、previousValue (上一次調用回調返回的值,或者是提供的初始值(initialValue))
2、currentValue (數組中當前被處理的元素)
3、index (當前元素在數組中的索引)
4、array (調用 rece 的數組) initialValue (作為第一次調用 callback 的第一個參數。)
如果沒有提供initialValue,rece 會從索引1的地方開始執行 callback 方法,
數組去重:
常用對象方法
1、Object.assign()
用於克隆,兩個參數,將第二個對象分配到第一個中
2、Object.is()
用於判斷兩個值是否相同
//注意,該函數與==運算符不同,不會強制轉換任何類型, 應該更加類似於===,但值得注意的是它會將+0和-0視作不同值
3、Object.keys()
用於返回對象可枚舉的屬性和方法的名稱,返回一個屬性或方法名稱的字元串數組。
4、Object.defineProperty()
劫持變數的set和get方法,將屬性添加到對象,或修改現有屬性的特性
5、Object.defineProperties()
可添加多個屬性,與Object.defineProperty()對應,
6、isPrototypeOf
安卓監聽可視區域變化,讓輸入框移動至可視區域
vue中平滑滾動到某個位置
this.$refs.rule.scrollIntoView({ block: 'start', behavior: 'smooth' })
向URL追加參數
解析URL參數
好用的JavaSrcipt庫與模塊(包)
日期時間處理庫
1、monent.js
2、day.js
day相對於monent要輕量許多
高精度數學運算
number-precision
實用工具庫
Lodash
lodash 是一個 JavaScript 實用工具庫,提供一致性,及模塊化、性能和配件等功能。
Lodash 消除了處理數組的麻煩,從而簡化了 JavaScript、 數字、對象、字元串等
⑥ web移動端網站前端和app前端,這兩個有什麼區別么技術和本質上的區別
1,開發語音不一樣,安卓是java,ios是swift語音,web是html,一般來說web前端相對簡單點。
2,開發工具不一樣,安卓是Android studio Ios是xcode,web是eclipse等。
3,唯一相同都是程序,邏輯想通,實現方法不一樣。
⑦ 什麼是前端開發,可以做什麼不要百度百科上抄的,要自己寫的。
在互聯網行業,前端有WEB前端、HTML前端等,隨著互聯網技術發展,就業方向也有很多。web前端的就業方向有web架構師、web前端工程師、HTML前端開發工程師、網頁設計師等等。
HTML前端開發
與Web前端開發不同的是,使用HTML5不僅僅可以開發前端,還有網頁游戲,手機APP,使用瀏覽器進行3D渲染等一系列建立在HTML5標准與搭載其標准瀏覽器上的開發,而未來可能會有更多的功能分支並入HTML5標准。web前端工程師
這個方向是目前從事Web前端開發的主要就業方向
Web架構師
薪資普遍比較高,技術要求高,掌握多種技能,包括:後端技術、DBA、Platform等等,甚至包括網站優化SEO技術。
數據方向
數據研發這個是在Web開發的基礎上用數據附能,懂可視化的一定是有前端能力的,懂hadoop的一定java玩的溜,屬於Web開發的拓展方向。
大前端方向
比如阿里,在大量實踐rn和weex;由於公司內部安卓/ios式微,一定程度上,前端把ios和安卓收編了,統稱大前端(還有node)。
圖形學方向
前端自然是與圖形學有千絲萬縷的聯系,除了上面提到了可視化,還有相關3d引擎的開發工作。做這一行要求也非常高了,圖形學相關的演算法,3d引擎的開發,這都需要圖形學相關知識。
前端的崗位很多,要注意選擇自己的技術方向,需要精通流行的幾個框架開發。前端是入門簡單,深入難,所以要往高級前端發展還需要不斷學習新技術。
前端開發需要學習的技術
1 掌握基本web前端開發技術:HTML、CSS、JavaScript、DOM、BOM、AJAX等,而且要了解它們在不同瀏覽器上的兼容情況、渲染原理和存在的Bug
2 必須掌握網站性能優化、SEO和伺服器端開發技術的基礎知識
3 必須學會運用各種web前端開發與測試工具進行輔助開發
4 除了掌握技術層面的知識,還要掌握理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持等
5 未來web前端開發工程師還要研究HTML5、web視覺設計、網站配色、網站交互設計模式等相關技術
⑧ 前端工程師都有用哪些比較靠譜的小工具
1、TakeColor 取色器
對於前端開發來說,和顏色、圖片打交道是難免的,有的時候想要在ps外面獲取顏色.
2、CoolFormat 源代碼格式化工具
CoolFormat,不僅僅適用於前端,因為它支持很多語言源代碼的格式化,可以在上面的開始菜單中選擇你要格式化的語言種類,這里我選擇的是js,然後將一串很亂的js代碼粘貼到下面的文本框裡面,點擊快速格式化.
3、做筆記的小幫手——有道雲筆記
其實這有道雲筆記不算是小工具了,在這之前,我一直都是用txt記事本記東西的
⑨ 安卓前端和網頁前端和後台交互有一樣嗎
不一樣。
1. 安卓端使用java語言,網頁前端使用javascript。
2. 安卓端使用java可以直接訪問資料庫,網頁前端無法直接訪問資料庫。
3. 同樣使用POST、GET等請求後端數據,安卓端會更像後端對後端請求數據。
4. 安卓端請求不需要經過瀏覽器,網頁前端需要在瀏覽器中執行。
數據傳輸方面可以做到十分類似,但是本質上是有區別的。
⑩ 前端工程師如何快速開發APP
第一,你說到app開發,那我們就說說現在主流的。app開發現在主要分為android開發和ios開發,說的籠統點就是安卓手機應用開發和蘋果手機應用開發。兩個系統的開發語言不同,安卓用的是java語言,蘋果用的是objective-c,但是目前兩家都推出了新的語言。
第二,比如想做安卓應用開發,就要明確開發應用所需要的工具,目前主流工具是android studio。然後需要系統的學習一下java基礎。
第三,可以嘗試著自己做一些小的安卓應用,可以做個簡單的登陸注冊,了解一下安卓的四大組建,了解一下安卓系統的運行機制。
第四,了解一下現在用到的主流框架。
第五,去下載源碼分析源碼,我相信會對你有很大幫助。
第六,實踐!實踐!!實踐!!!