下面談一下我的看法吧。

01 難與不難是相對(duì)的

從Java技術(shù)角度來看,開發(fā)一個(gè)簡單的動(dòng)態(tài)網(wǎng)站(例如:在線報(bào)名網(wǎng)頁),你需要掌握的是Java語言基礎(chǔ)、JSP動(dòng)態(tài)網(wǎng)頁技術(shù)、JDBC數(shù)據(jù)庫訪問技術(shù)。

JAVA開發(fā)網(wǎng)站

從網(wǎng)頁制作角度,你還要掌握HTML/CSS/Javascript。

上述這些技術(shù)很難嗎?

其實(shí)不難,如果你用功一點(diǎn),一個(gè)月肯定可以掌握。

以上只是一個(gè)簡單的動(dòng)態(tài)網(wǎng)頁,如果要開發(fā)一個(gè)網(wǎng)上商城呢?

當(dāng)一個(gè)網(wǎng)站的功能多了以后,你會(huì)發(fā)現(xiàn):只用JSP是不夠的。因?yàn)榇a量上來了,項(xiàng)目的規(guī)模變大了以后,就需要對(duì)代碼進(jìn)行重構(gòu)。

你需要一個(gè)東西來幫助你快速搭建一個(gè)項(xiàng)目框架,迫切需要某一種代碼規(guī)范,幫助你寫出高質(zhì)量代碼和提高開發(fā)效率。

這就引出來了“框架framework”。

Java之所以發(fā)展了20多年,生命力依然旺盛,其原因是開源的理念。在Java業(yè)態(tài)有大量的開源框架供你使用和學(xué)習(xí)。特別是spring框架已成為Java企業(yè)級(jí)開發(fā)的標(biāo)準(zhǔn)規(guī)范。

得益于開源,你能夠看到國外程序員(大牛)的一些代碼,學(xué)習(xí)別人的編碼規(guī)范、問題解決方案,自己得到快速提升。

JAVA開發(fā)網(wǎng)站

02 業(yè)務(wù)邏輯才是重心

在網(wǎng)站功能多了、使用框架開發(fā)以后,你會(huì)發(fā)現(xiàn):一些重復(fù)的或底層的工作你已經(jīng)不需要做了(例如日志、重復(fù)的JDBC代碼等),你的重心轉(zhuǎn)到了業(yè)務(wù)邏輯的實(shí)現(xiàn)上。

從一個(gè)系統(tǒng)來看,其最重要的就是業(yè)務(wù)邏輯代碼。這部分代碼是支撐系統(tǒng)運(yùn)行的靈魂支柱。

一個(gè)開發(fā)工程師的核心能力就是運(yùn)用個(gè)人技能,完成業(yè)務(wù)功能實(shí)現(xiàn)。這里的業(yè)務(wù)功能可能會(huì)比較復(fù)雜。以一個(gè)網(wǎng)上商城下單的業(yè)務(wù)邏輯來看,這個(gè)過程需要鎖庫存、拆單下單、調(diào)用其它系統(tǒng)API同步數(shù)據(jù)等等。

所以說:在學(xué)習(xí)時(shí)期,重點(diǎn)是掌握語言、框架方面技術(shù);工作后,重點(diǎn)是積累解決問題的辦法(包括架構(gòu)方面)。

03 網(wǎng)站開發(fā)除了寫代碼,還有其它的事要做

最后補(bǔ)充的是,網(wǎng)站開發(fā)不僅包括編碼,你還需要了解常用服務(wù)器軟件(nginx,tomcat等)基礎(chǔ)配置、掌握數(shù)據(jù)庫SQL優(yōu)化、基本的代碼版本管理等內(nèi)容。這些都是在工作中需要用到的。