❶ 前端開發是否有必要知道數據結構和演算法
數據結構和演算法是任何從事軟體編程工作人員必須學會的一門課程,不管學深淺,都需要學。前端開發也是軟體編程,建議一定要學一學數據結構和演算法,這樣有利於深層次的問題思考。
❷ 手機app前端工程師都要做什麼工作
主要工作是把UI的設計圖按照w3c標准做成html頁面,並且用javascript腳本語言實現頁面上的前端互動。互動效果包括,彈出層,頁簽切換,圖片滾動,ajax非同步互動等。
高級前端工程師還要承擔前端優化的工作,優化的知識就會更多一些,比如文件過期Expires,緩存,非同步緩存,js和css以及圖片的壓縮等。
前端開發是一項很特殊的工作,前端工程師的工作說得輕松,看似輕巧,但做起來絕對不是那麼的簡單。在開發過程中涵蓋的東西非常寬廣,既要從技術的角度來思 考界面的實現,規避技術的死角,又要從用戶的角度來思考,怎樣才能更好地接受技術呈現的枯燥的數據,更好的呈現信息。簡單地說,它的主要職能就將網站的數 據和用戶的接受更好地結合在一起,為用戶呈現一個友好的數據界面。
前端工程師是一個很新的職業,在國內乃至國際上真正開始受到重視的時間不超過5年。互聯網的發展速度迅猛,網頁由WEB1.0到WEB2.0,再 到新生的HTML5、CSS3,到現在手機、3G網路等新科技的興起,網頁也由最原先的圖文為主,到現在各種各樣的基於哀前端技術實現的應用、交互和富媒 體的呈現,更多的信息、更豐富的內容、更友好的體驗,已經成為網站前端開發的要求,網站的前端開發發生了翻天可覆地的變化。網站的開發對前端的需要越來越重要,但目前前端工程師需求遠大於供給,前端人才非常緊缺。所以高質量的前端開發工程師將會是後五年內一個非常熱門的職業,發展的前景非常可觀。
❸ 前端開發是否有必要知道數據結構和演算法
如果只是單純做前端,沒有。前端的核心是DOM。演算法和數據結構是為了解決效率問題的,而提升前端的效率用到的概念往往僅僅是常識級別的。甚至一些流行的中小型庫中都看不到任何數據結構。可以認為前端是程序員里的一個特例,一般程序員面對的是計算機,前端開發人員面對的僅僅是瀏覽器。如果只是關注前端,學習數據結構和演算法的收益還不如去讀jQuery源碼。
既然前端用不上,樓主還是問到了這個問題,那就說明樓主關注的不僅僅是如何成為一個熟練的前端,而是成為一個優秀的軟體工程師。網站開發之所以流行,一部分是因為開發成本低。這些節省下來的成本,一部分就是開發人員的薪水。換句話說,前端開發簡單,門檻低,所以收入低,可替代性強。跳出前端這個領域,把自己放到軟體工程師的隊伍里,再看這個問題,答案就顯而易見了。如果只是專注於前端技術,那麼能解決的也僅僅是一小部分問題。
如果樓主關心的是如何更好地解決前端的問題,那麼在相當長的一段路上數據結構和演算法是優先順序很低的。如果樓主關心的是自己的職業規劃和自身素質的提升,數據結構和演算法則在任何時候都是優先順序最高的。
❹ 什麼是前端,後端,終端,有什麼區別
簡單地說,前端就是你在瀏覽網頁app看到的一切東西,都是前端。後端就是程序員在背後做的一切努力,對數據等東西的處理。而終端就是你使用來瀏覽這些東西的設備。
展開來說的話,就比較長。
前端:
前端就是展現給用戶瀏覽的部分。我們通常說的前端,其實是指前端開發,也就是創建PC端或移動端等前端界面給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。前端開發是從網頁製作演變而來。早期的網頁製作主要內容都是靜態的,以文字圖片為主,用戶使用網站也以瀏覽為主。隨著互聯網的發展,現代網頁更加美觀,交互效果顯著,功能更加強大。因此現在的前端開發的主要技術通常是指html、css、js技術和一些開發框架的使用。大家熟知的Facebook就是Web前端技術的產物,完全基於前端框架打造出來的平台。另外,外賣平台餓了么旗下的部分產品也是基於Web前端技術的。像淘寶,網路,阿里等等,都已經將Web前端技術打入到了自己的產品中。
後端:
為了讓伺服器、應用、資料庫能夠彼此交互,後端工程師需要具有用於應用構建的伺服器端語言,數據相關工具,PHP框架,版本控制工具,還要熟練使用 Linux 作為開發和部署環境。後端開發者使用這些工具編寫干凈、可移植、具有良好文檔支持的代碼來創建或更新 Web 應用。但在寫代碼之前,他們需要與客戶溝通,了解其實際需求並轉化為技術目標,制定最有效且精簡的方案來進行實現。
終端:
「終端」即是指最後或最外層的節點。在計算機世界裡一般指最外層的輸入輸出。那什麼是計算機的輸入輸出?最常見的輸出設備就是顯示器、最常見的輸入設備就是鍵盤滑鼠。所以通俗來說,計算機的終端就是位於最外層的顯示器、鍵盤或滑鼠。
在過去(現在也有)因為計算機資源非常寶貴,經常一台高性能主機向多台終端設備提供計算能力。即終端設備通過鍵盤滑鼠向中心主機輸入信息,中心主機計算後將結果返回給終端進行顯示。終端本身不具備核心計算能力,主要就負責數據的輸入和輸出,這就是「終端」。
現代我們管很多設備叫終端機,比如手機。因為手機作為接打電話的終端負責聲音的輸入和輸出,而重要的信號處理工作由各個基站等設備完成。
❺ 演算法在前端開發的中實際應用有哪些
如果是游戲前端,演算法很重要。。。比如角色尋路,主要就是使用A*演算法,怪物的AI,通常需要使用樹相關的演算法,比如二叉樹,行為樹等。。。如果是APP或網頁前端,實際工作中,需要使用演算法的概率幾乎是零。。
❻ 前端程序員需要很多演算法嗎
前端?是指網頁前端還是游戲前端?如果是頁端,就不一定,看做的項目,但如果是游戲前端,就需要用到很多演算法了,尋路演算法,碰撞檢測演算法之類都是必須的
❼ 前端需要計算題嗎
演算法是編程的"里子",不管你是前端還是後端,作為一名計算機工程師,具備一定的演算法能力,是一種基本要求.具體一點,我們是來講演算法在前端工作中應用.web前端工作中,確實沒有太多演算法上的需求.以vue等著名框架的虛擬dom的diff演算法來講,框架已經被很好的實現了,你在使用框架的時候是不會涉及到具體的diff演算法.但是理解演算法,可以讓你更好的理解框架,從而也能更好的使用框架,提高頁面的性能.再寬泛的來講演算法,很多特殊的需求也會需要你來設計一個演算法.比如某個需求有很多個非同步請求要發送給伺服器,全部完成之後,可以繼續下一件事情.可能很多人要說,這個很簡單,一個Promise.all就可以解決。
但是請你考慮下面稍有變化的情況,因為伺服器的壓力問題,限制同一個客戶端只能在同一時間只能發送2個非同步請求,所以你就必須對Promise.all做出適當的修改在這樣的情況下,你就需要設計到一套演算法去高效完成它。希望我的回答對你有幫助,歡迎採納我的回答,謝謝。
❽ app前端開發之前要做什麼 知乎
app前端開發可以理解為現在所謂的大前端開發,對於大前端這一詞語,沒有一個准確的說法,一般前端發展都需要具備多種開發技能,除去傳統的 PC 端開發,Web 端開發,還有基於微信的公眾號開發、小程序開發,配合打包技術實現的混合 APP 開發,以及桌面應用開發,還有基於 node.js 進行後台開發。
前端開發是創建Web頁面或app等前端界面呈現給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。
❾ app開發需要什麼技術
開發不同類型的App需要用到哪些技術?
Web App:iOS/Android的內置瀏覽器是基於webkit內核的,所以在開發webApp時,多數使用html或html5、CSS3、JavaScript技術做UI布局,使其在網站頁面上實現傳統的C/S架構軟體功能,服務端技術用java、php、ASP。現在也有很多一鍵生成webApp的平台,如網路siteApp/移動開發平台APICloud,APICloud平台提供基於騰訊x5瀏覽器引擎生成webApp,因為移動端的超級流量入口微信/手機qq等用的也是騰訊x5內置瀏覽器,所以用騰訊x5瀏覽器生成的App在移動頁面展示時適配於微信的瀏覽體驗,這樣可以幫助webApp引流。
Native App:
開發Native App需要根據運行的手機系統採用不同的開發語言,開發Android App需要的開發語言是java,還需要熟悉Android環境和機制。主要知識點如下:
1. 開發環境,Android Studio、eclipse.如何搭建Android開發環境可以去網路。
2. 數據結構,App的某些功能涉及到做演算法,所以要有一定的數學基礎
3. Android SDK,會API介面開發,包括自行開發API的能力和調用第三發API的經驗。
4. 熟悉tcp、IP,socket等網路協議
5. 如果涉及到伺服器,你還需要了解webservice相關知識和相應的開發語言,常用有PHP、JSP、ASP.Net.
6. 除了這些功能基礎,App開發還涉及到UI設計、框架、性能優化、調試適配等。
Objective-C是開發iOS系統App的主流編程語言,開發者一般用蘋果公司的iOS SDK搭建開發環境,iOS SDK是開發iOS應用程序中不可少的軟體開發包,提供了從創建程序,到編譯、調試、運行、測試等多種開發過程中需要等工具。學習iOS開發可以去看蘋果官方文檔,這是最權威的ios教程。
Hybrid App:混合開發中主流的是以web為主體型的開發,即以網頁語言編寫,穿插Native功能的hybrid App開發類型,網頁語言主要有html5、CSS3、JavaScript。Web主體型的App用戶體驗好壞,取決於底層中間件的交互與跨平台的能力。國內外有很多優秀的開發工具,如國外的AppmAkr、Appmobi,國內的APICloud,APICloud的底層引擎用Deep Engine,使用半翻譯式原理,將運行中的web翻譯成Native API,並且支持擴展API,開發時可調用用原生語言開發的功能模塊,以此達到媲美原生App的用戶體驗,同時節省開發時間。
對企業來說,可以根據自己的需求選擇不同的開發類型和開發工具,目前來看,Hybrid App已經成為移動開發趨勢,一方面Hybrid App開發時不採用或者大部分不採用原生語言,卻能擁有原生應用的特性,一方面隨著web技術的發展,Hybrid App技術已經成熟,很多大型App淘寶、微信、攜程都屬於這種開發模式,Hybrid App給企業移動應用的開發、維護、更新都帶來了極高的便捷性,從成本投入用戶體驗考慮,Hybrid App都是首選。
❿ APP開發都需要哪些人
這個看你做什麼規模,如果是幾十萬甚至上百萬人用這個,那麼需要的人就多,如果只是公司內部用,或者需求量小,那麼一個2-3人足以。深圳聖馬歌科技從事APP定製開發外包行業多年。從一般的開發角度來說的話,一款APP從無到有,所需要的人員有:
1、產品經理,負責產品的設計及需求文檔。一款產品,首先要有一個靈魂,一個核心,是做商城,做社交,還是做應用,都需要將其解決的痛點展示出來,這樣,APP才能圍繞一個點進行設計,否則,整個APP的功能就會繁雜,沒有重心。產品經理會做原型圖和文檔,這兩者是整個APP的模型。
2、UI設計師,負責產品外觀效果圖的設計。如果說原型圖展示了產品的功能,那UI圖則展示了產品的外觀,頁面主色調是什麼樣,外觀如何,人機交互如何,都有設計師來做。UI圖直接影響到了用戶的感官體驗和使用體驗,一定要重視。
3、安卓、IOS工程師。做APP前端開發,一般來說,一款APP是在安卓市場和IOS市場都有上架,如果有其他計劃,也可能只上架某一端。安卓、ios工程師的工作時間,要根據APP頁面的多少來評估,還要根據APP與後台的介面多少及復雜程度來評估。在做APP前端的時候,一個是速度,一個是質量,因為APP是直接展示給用戶的,所以,在頁面搭建的美觀上一定要嚴格,這個美觀不要求工程師具有多高的審美,而是要求工程師足夠細心和耐心,按照UI圖的設計,將每一個icon,每一條線,每一個分隔,每一個像素、每一塊色值,都做到完全1:1,這對APP的外觀是很重要的。其實,實際開發當中,會有一些開發工具不能支持UI圖的地方,按照一定程度來說,APP能有90%還原UI圖,就是比較成功的了。APP不僅涉及到頁面外觀,也會涉及到一些演算法邏輯及介面優化,這些需要工程師有較高的處理能力。
4、後台開發,後台一般是Java或者PHP寫,有時候會用到C#,一般來說,Java使用比較多。PHP使用也很廣泛,但是PHP支持的開發內容不是很多,它主要用在網站搭建、商城和一些其他不復雜的地方。Java用途是最廣泛的,很多大型機構、銀行等都是用Java,如果你的APP後續預計會有多次擴展升級,建議用Java來寫。後台開發跟工程師的能力有很大關系,剛實習的開發人員,雖然功能都會實現,但是在代碼質量上會差很多,這就好比如蓋房子,需求要求的是一室兩廳,經驗不豐富的人,就拿磚頭給你建造個一室兩廳,滿足需求嗎,也滿足,因為需求就是要求一室兩廳,但是經驗豐富的人,會考慮你的居住舒適度,每間屋子的大小比例,房屋的牢固性、美觀性,如果以後想要加二層,我的一層會滿足後期的支撐。這就是好的開發者和初入職場的開發者的區別。在選取後台開發人員的時候,一定要注意。
5、測試人員:APP和後台開發完成之後,一定會有測試人員進行測試,測試會從多個角度對每一個功能塊進行反復測試驗證,確保整個項目邏輯無誤功能准確。
6、上架部署:APP的上架,是各大應用市場。安卓市場較多,幾乎所有的市場都要求提供軟著,所以,軟著要提前申請。ios市場上架規則較多,要求ios人員有足夠的應付經驗。後台代碼需要部署在伺服器使用。上架部署,現有的開發人員即可完成。
7、運營:如果你的APP需要運營推廣,那運營團隊肯定少不了,這塊需要看實際需求。