本文不談及老技術(shù)(畢竟沒有經(jīng)歷那個年代,emmm),只談一些個人體會,如果會有部分內(nèi)容與你想法不同,以你為準(zhǔn)。
對于我雙非本科小菜雞來說,最開始入門的語言是 C 語言,之后大二大三就以 Java 語言為主。后面了解了一下其它學(xué)校同學(xué)學(xué)習(xí)的課程,好像大部分也是以 Java 為主,不過有的學(xué)校會教學(xué)一些 Web 前端的課程,這個是挺好的。
我是僅僅大二學(xué)了一本 《Web基礎(chǔ)入門指南》書籍(可能書名也不叫這個名字),內(nèi)容也是比較基礎(chǔ),學(xué)習(xí)一些 html 標(biāo)簽,css 語法也學(xué)的很少。
課程快要結(jié)束的時候,老師給我們提及了 ajax 以及異步請求相關(guān)的概念,逐漸的有了前后端的概念,最后的作業(yè)就是完成一個課程設(shè)計,也是比較經(jīng)典的管理系統(tǒng),要有數(shù)據(jù)庫連接等等,我們當(dāng)時做的就是比較經(jīng)典的「圖書管理系統(tǒng)」了。
大二學(xué)習(xí)前端的知識不是很多,后面來到了大三,學(xué)習(xí)了 JavaEE 以及軟件工程的課程,當(dāng)時這兩門學(xué)科老師進(jìn)行了聯(lián)合,要求我們分組完成一個大的課程設(shè)計,這個也是作為期末考試的重點(diǎn)比例分?jǐn)?shù),可以說如果這個項(xiàng)目分?jǐn)?shù)不高的話,兩門都得掛了。
不過平常與大佬接觸蠻多,所以就和大佬們組了隊,其中就有一位小學(xué)就學(xué)習(xí)過編程的同學(xué),對于大學(xué)才剛接觸編程的我來說經(jīng)驗(yàn)還是有許多差距。
當(dāng)時軟件工程老師給我們提及了,前端框架可以考慮使用 Vue 或者 React 框架,那時候我最開始接觸這兩個詞,然后組內(nèi)大佬就開始研究這個框架了,讓我佩服學(xué)習(xí)能力真的好強(qiáng),一周內(nèi)就開始編寫頁面了。
而后端當(dāng)時提及的就是 SSM,如果不太熟悉的小組也可以使用 SSH,我們當(dāng)時就采用了 SSM 框架,并且采用前后端分離的模式開發(fā)。
后端也是一位大佬,當(dāng)時就引入了 Swagger UI
在這里引用官方的介紹:
Swagger UI allows anyone — be it your development team or your end consumers — to visualize and interact with the API’s resources without having any of the implementation logic in place. It’s automatically generated from your OpenAPI (formerly known as Swagger) Specification, with the visual documentation making it easy for back end implementation and client side consumption.
來自谷歌翻譯: Swagger UI 允許任何人——無論是你的開發(fā)團(tuán)隊還是你的最終消費(fèi)者——在沒有任何實(shí)現(xiàn)邏輯的情況下可視化 API 資源并與之交互。 它是根據(jù)您的 OpenAPI(以前稱為 Swagger)規(guī)范自動生成的,帶有可視化文檔,便于后端實(shí)現(xiàn)和客戶端使用。
當(dāng)時做的效果就是如官方圖片一樣,提供了一種可視化的效果,這樣前端同學(xué)就不用這么花費(fèi)很多溝通上的成本,直接看圖一目了然。
這個當(dāng)時也是對我的認(rèn)知有了一些變化,就覺得大佬們真強(qiáng),對于這個技術(shù)廣度感到了不足,給大佬們點(diǎn)贊!
最后我們組確確實(shí)實(shí)拿到了班級第一名,但是過程中前后端的兩位大佬也出現(xiàn)過溝通問題,也吵過,就差打起來了…
之后,有這段做項(xiàng)目的經(jīng)歷加上自己也系統(tǒng)學(xué)習(xí)了前端相關(guān)的知識,春招找到了一份實(shí)習(xí),接下來就來說說實(shí)習(xí)工作的真實(shí)體驗(yàn)如何。
學(xué)校時期與大佬們接觸,自己對于技術(shù)方面也更加熱愛了,同時接觸的領(lǐng)域也更廣了,比如開始自己去學(xué)習(xí) Vue 和 React 框架。
但是帶著學(xué)校的思維第一次進(jìn)入了一家公司實(shí)習(xí),當(dāng)時想的是應(yīng)該前后端也會按照學(xué)校那會的方式來做,而實(shí)際情況缺差別有點(diǎn)大。
實(shí)習(xí)那會,有一批的實(shí)習(xí)生,我應(yīng)該算是前端的一個主力了,當(dāng)時討論的時候就說后端寫好接口文檔,可以考慮使用 Swagger UI(因?yàn)樯衔奶峒斑^,我大學(xué)期間就有使用過,這個還挺好用的)
不過當(dāng)我提及 Swagger UI 時,貌似就一位后端同學(xué)知道,其它同學(xué)好像沒怎么了解。
因?yàn)榱私獾牟粔虺渥悖@個 Swagger UI 就放棄考慮了,最開始是沒有一個規(guī)范的接口文檔的,告訴我的接口也是比較「簡單」,至于這個接口能不能用我還要自己去請求一下,然后測試一下?
當(dāng)時花費(fèi)了很多的溝通成本,后來由帶我們的組長給后端同學(xué)開了一次會議,開始整改規(guī)范上的問題,要求寫好一份完整的接口文檔,之后我就輕松許多了,不需要我做的時候還得和接口負(fù)責(zé)人溝通許久。
不過,后來又出現(xiàn)了問題,雖然文檔的內(nèi)容是比較詳細(xì)了,但是因?yàn)榻涌跁容^多,所以每個人可能就會分配一下,負(fù)責(zé)某個模塊的幾個接口,就在這里出了點(diǎn)小問題。
比如前端取值的話,有些接口是通過 res.data.xxx 就可以獲取 xxx 屬性的值了,原本我以為大家都會用這種規(guī)范上來做,但是之后寫其它頁面的時候我發(fā)現(xiàn) res.data 取不到值了,充滿疑惑的我又開始了調(diào)試,在控制臺打印了一下,原來我得需要 res.data.data.xxx 才能獲取那個值,看完之后我哭了呀。
于是乎,我又得找后端同學(xué)商量一下了…
作為一起加入的實(shí)習(xí)同學(xué),出現(xiàn)問題也是很正常,遇到問題去解決問題就好了。
要是脾氣暴躁的前端 er,估計會和后端開懟了,甚至打起來了(開個玩笑哈,一般不會有這種情況的哈,打贏了坐牢,打輸了住院…)
之前有一位小伙伴問我前端與后端對接需要掌握哪些技術(shù)棧,該怎么對接等等。
首先,是技術(shù)棧方面,其實(shí)對于前端來說,了解一下「RESTful API」就好了,一般后端同學(xué)返回的接口類型和這個設(shè)計差不多,可能公司要求會有點(diǎn)差別。
https://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html
在現(xiàn)在主流前后端分離開發(fā)模式下,前端同學(xué)就負(fù)責(zé)編寫界面實(shí)現(xiàn),后端同學(xué)提供 API 接口,這樣減少一些溝通成本。
在過去前后端打架的時代,我覺得你寫的接口不行,而你又覺得我寫的頁面太簡單了,覺得我技術(shù)一般。然后就打起來了…
咳咳,題外話題外話,至少我是沒有經(jīng)歷過那個時代,真打沒打起來我還沒實(shí)際見過,但是網(wǎng)上見過,見過真實(shí)的產(chǎn)品和開發(fā)人員對噴的情況。
而至于怎么對接的話,作為前端來說的話,如果后端同學(xué)按照公司規(guī)范提供接口文檔或者一些可視化的接口,這樣是非常好的,自己也會輕松很多,省去一些溝通的成本。
但實(shí)際情況往往與理想狀態(tài)還是有點(diǎn)差距,有時候后端同學(xué)返回的接口可能會有一些問題,這也很正常,誰還不經(jīng)歷個 bug 呢,作為前端的我們來說,不要抱怨,和平交流。
因?yàn)檫@個功能是這位后端同學(xué)給你提供接口,說不定之后的一些功能你們還需要合作,因此建立良好的合作關(guān)系還是很重要的。
本篇文章就到此結(jié)束啦,的文章可不僅僅只有知識類分享哈,喜歡我的文章可以點(diǎn)點(diǎn)關(guān)注,下次我們還能遇見,許久沒有求點(diǎn)贊了,這次能要一個「點(diǎn)贊」嗎,各位大佬們,球球了~
我是「一百個Chocolate」,一位獅子座的程序員,帶著熱情面對生活,好好生活,好好學(xué)習(xí)。
2021 年還有一個季度,我們一起加油!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/122554.html
摘要:寫在前面年月日,我只身一人來到北京,開始人生中的第一份工作,在一家國企從事軟件開發(fā)工作。因?yàn)楝F(xiàn)在晚飯都是在公司吃,如果不是刷朋友圈,我是不知道北京哪天的夕陽又刷屏了的,因此錯過了很多美麗的瞬間,也算一點(diǎn)遺憾吧。 ...
摘要:簡介什么是前端說這個之前,我們先了解前端工程師是干什么的,百度百科的解釋前端開發(fā)工程師,主要職責(zé)是利用等各種技術(shù)進(jìn)行客戶端產(chǎn)品的開發(fā)。簡介 1.什么是web前端 說這個之前,我們先了解web前端工程師是干什么的,百度百科的解釋: Web前端開發(fā)工程師,主要職責(zé)是利用(X)HTML/CSS/JavaScript/Flash等各種Web技術(shù)進(jìn)行客戶端產(chǎn)品的開發(fā)。完成客戶端程序(也就是瀏覽器端...
摘要:月號,杭州和聯(lián)合主辦的第八期技術(shù)分享會,在公司如期舉行。張偉林,宋小菜資深前端開發(fā)工程師,年,霹靂迷,已手殘的紙牌魔術(shù)師,喜歡神奇的東西,技術(shù)棧從上向下不斷橫向縱向貫穿,目前在尋找前后端大一統(tǒng)思想的路上越走越偏。 showImg(https://segmentfault.com/img/bVbkWN4?w=3000&h=1686); 12 月 9 號,杭州 NodeParty 和 Ro...
摘要:工欲善其事必先利其器繼續(xù)打磨前端架構(gòu)抱歉生病拖更了,快樂本文永久更新地址填坑上回還真的有同學(xué)提到了這個問題,感謝細(xì)心的你。既實(shí)現(xiàn)了攔截又實(shí)現(xiàn)了狀態(tài)的共享。愉快的拿到了數(shù)據(jù)這樣,前后分離的項(xiàng)目可以這樣借助測試接口,不需要騷擾任何人。 工欲善其事必先利其器 - 繼續(xù)打磨前端架構(gòu) 抱歉生病拖更了,1024快樂 本文永久更新地址 填坑 上回還真的有同學(xué)提到了這個問題,感謝細(xì)心的你。@_noob...
摘要:歡迎大家收看聊一聊系列,這一套系列文章,可以幫助前端工程師們了解前端的方方面面不僅僅是代碼作為現(xiàn)代應(yīng)用,的大量使用,使得前端工程師們?nèi)粘5拈_發(fā)少不了拼裝模板,渲染模板。我們今天就來聊聊,拼裝與渲染模板的那些事兒。一改俱改,一板兩用。 歡迎大家收看聊一聊系列,這一套系列文章,可以幫助前端工程師們了解前端的方方面面(不僅僅是代碼):https://segmentfault.com/blog...
閱讀 1898·2021-11-24 09:39
閱讀 2555·2021-10-14 09:43
閱讀 3326·2021-10-08 10:10
閱讀 2278·2021-09-22 15:54
閱讀 2345·2019-08-29 17:20
閱讀 1581·2019-08-28 18:14
閱讀 2383·2019-08-26 13:28
閱讀 1121·2019-08-26 12:16