編輯導語:產品經理在日常工作中會接觸到多方面的同事,也會產生比較多的交流,那除了接受需求以及判斷需求以外,更多的是與開發小哥“battle”;本文作者分享了關于前端開發工程師的一些工作日常,我們一起來了解一下。
今天要介紹的是產品經理的小伙伴之一:前端開發工程師,雖然天天和他們打交道,但是想必大家都沒有好好的“關心”過他們,今天我們一起來看看天天接觸的前端工程師到底在忙些什么。
現在移動互聯網發展的這么快,前端開發領域也越來越廣,前端早已經告別了切圖崽的時代,在web端、移動端(安卓、IOS)、Watch、小程序、公眾號開發、混合app開發都能看到前端開發工程師的影子。
從狹義上講,前端工程師使用 HTML、CSS、JavaScript 等專業技能和工具將產品UI設計稿實現成網站產品,涵蓋用戶PC端、移動端網頁,處理視覺和交互問題。
從廣義上來講,所有用戶終端產品與視覺和交互有關的部分,都是前端工程師的專業領域。
簡單的說,前端開發工程師日常工作是創建Web頁面或移動頁面等前端界面呈現給用戶的過程,通過前端三大件HTML、CSS、JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互 。
用戶看到的每一個網頁主要由三部分組成:結構( Structure) 、 表現( Presentation) 和行為( Behavior)。
- HTML —— 結構, 決定網頁的結構和內容(“是什么”);
- CSS —— 表現( 樣式) , 設定網頁的表現樣式(“什么樣子”);
- JavaScript —— 行為, 控制網頁的行為(“做什么”);
HTML、CSS、JavaScript是前端開發中最基本也是最必須的三個技能;前端開發中,在頁面的布局時, HTML將元素進行定義,CSS對展示的元素進行定位,再通過JavaScript實現相應的效果和交互。接下來我們好好聊聊這三大件,知己知彼。
一、HTML是什么?
可以把HTML結構想象成一個沒穿衣服的人。
HTML指超文本標記語言(HyperText Markup Language),“超文本”就是指頁面內可以包含圖片、鏈接,甚至音樂、程序等非文字元素;前端開發利用HTML標簽(Tag)來標記(Markup)網頁中的文字。
(html代碼示例)
上述代碼是一個最基礎HTML結構,一個網頁的結構往往包括“頭”和“主體”,頭部的內容使用header標簽標記,主要存放一些網頁信息,例如網頁標題、內容摘要、關鍵詞等,頭部內容也是SEO優化的重要對象。
主體部分用標簽body標簽標記,網頁的內容全部放在body標簽下,其內部又包含了很多代表不同含義的標簽(如下表所示,只展示部分常用的)。
這些形形色色的標簽就構成了頁面的內容,要注意的是整個網頁的內容都要放在一個頂層標簽html標簽下。
(常用標簽)
例如:我們點擊某個鏈接,然后自動跳轉一個新的頁面,這過程都是a標簽在起作用;還有看到的圖片,就是img標簽承載圖片的數據源。
最后,告訴大家兩個查看HTML源碼的方法,好奇的伙伴可以去試試。
- 打開瀏覽器,鼠標在頁面上右擊,然后點擊“查看頁面源碼”;
- 打開瀏覽器,按 “F12” 鍵;
二、CSS是什么?
可以把CSS想象成給一個沒穿衣服的人(HTML結構)化妝、穿衣服等,作用是讓它變得美美的 。
CSS 指層疊樣式表(Cascading Style Sheets),是一種將網頁內容與網頁樣式分離的技術。
我們經常會對一個網站評價道:這網站頁面怎么這么亂、這網站看起來真大氣——這背后都是受CSS影響。
CSS可以做什么?
1)CSS主要用來設計網頁的樣式,美化網頁;它不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化;比如一開始文字顯示是紅色,我點擊某個按鈕后文字變黑色了。
2)你可以輕松地控制頁面的布局,CSS 能夠對網頁中元素位置的排版進行像素級精確控制,因此我們能看到各式各樣的布局風格。
3)在頁面制作時采用CSS技術,可以有效地對頁面的布局、字體、顏色、背景和其它效果實現更加精確的控制;例如通過文本屬性,可以改變文本的顏色、字符間距,對齊文本,裝飾文本,對文本進行縮進等等。
4)你可以將許多網頁的風格格式同時更新,不用再一頁一頁地更新了;你可以將站點上所有的網頁風格都使用一個CSS文件進行控制,只要修改這個CSS文件中相應的行,那么整個站點的所有頁面都會隨之發生變動。
5)CSS在幾乎所有的瀏覽器上都可以使用。
CSS代碼示例
三、JS是什么?
JS能夠讓HTML結構這個人“跳舞”、“跑步”等動作,主要目的是讓“人”動起來。
JS(JavaScript)是一種屬于網絡的高級腳本語言,已經被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果;通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。
js可以做什么:
- 使網頁具有交互性,例如,banner輪播效果、手動Tab切換等效果;
- 可以處理表單,檢驗用戶的輸入,并提供及時反饋節省用戶時間。例如,表單中要你輸入電子郵箱而你卻輸入一個手機號,那么應該給你一個錯誤提醒。
- 還可以根據用戶的操作,動態的創建頁面。例如,發郵件時,添加附件操作。
- 設置cookie,cookie是存儲在瀏覽器上的一些臨時信息,例如你瀏覽過的網站地址,使用過的用戶名。
- 跨平臺特性,在絕大多數瀏覽器的支持下,可以在多種平臺下運行(如Windows、Linux、Mac、Android、iOS等)。
- ……
JS代碼示例
前端三大件到此介紹完畢,不過現在有些其他語言的程序猿在討論HTML、CSS、JS倒是算不算編程語言。
四、全棧工程師
前端開發工程師在精進一步可以發展為全棧工程師,向T型人才或者π型人才發展。
全棧工程師熟悉多種開發語言,同時具備前端和后臺開發能力,既能做前端(需要熟悉前端三大件以及Vue等各種前端技術),又能做后端(需要熟悉Node.js或Java或ASP.net或php或Go等),可以獨自完成一個產品的前、后臺開發工作。
簡單了解下全棧工程師的技術棧有哪些:
- 前端技術:HTML/HTML5、CSS/CSS3、LESS/Javascript、jQuery、RequireJS、AngularJS、Vue等;
- 后端技術:node.js或Java、php等;
- 中間件:Nginx或Dubbo;
- 數據庫:MySQL或MongoDB;
- 代碼管理:git、svn;
- 構建工具:webpack、gulp、Jenkins;
- ……
我們可以看到,對于全棧工程師來說,要活到老,學到老,其中最重要的屬性,就是不同的思維方式和強大的學習能力。
最后,請重新認識一下你身邊那個平平無奇的前端小伙伴吧!也可以把本篇文章分享給他看看,到底有幾分像,哈哈。
#專欄作家#
道三,微信公眾號:產品大秘籍,人人都是產品經理專欄作家。以前寫過代碼,現在產品圈摸爬滾打,專注于電商領域產品設計、主要分享電商和供應鏈領域知識點。
本文原創發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自Unsplash,基于CC0協議。