嗨,你好。很高興看到并回答你的問題。如果認同回答,記得點贊和轉(zhuǎn)發(fā)哦~老邢誠邀你的關(guān)注,一起探索技術(shù)之美,共同學(xué)習(xí)成長!
下面談一下我的看法吧。
01 難與不難是相對的從Java技術(shù)角度來看,開發(fā)一個簡單的動態(tài)網(wǎng)站(例如:在線報名網(wǎng)頁),你需要掌握的是Java語言基礎(chǔ)、JSP動態(tài)網(wǎng)頁技術(shù)、JDBC數(shù)據(jù)庫訪問技術(shù)。
從網(wǎng)頁制作角度,你還要掌握HTML/CSS/Javascript。
上述這些技術(shù)很難嗎?
其實不難,如果你用功一點,一個月肯定可以掌握。
以上只是一個簡單的動態(tài)網(wǎng)頁,如果要開發(fā)一個網(wǎng)上商城呢?
當一個網(wǎng)站的功能多了以后,你會發(fā)現(xiàn):只用JSP是不夠的。因為代碼量上來了,項目的規(guī)模變大了以后,就需要對代碼進行重構(gòu)。
你需要一個東西來幫助你快速搭建一個項目框架,迫切需要某一種代碼規(guī)范,幫助你寫出高質(zhì)量代碼和提高開發(fā)效率。
這就引出來了“框架framework”。
Java之所以發(fā)展了20多年,生命力依然旺盛,其原因是開源的理念。在Java業(yè)態(tài)有大量的開源框架供你使用和學(xué)習(xí)。特別是spring框架已成為Java企業(yè)級開發(fā)的標準規(guī)范。
得益于開源,你能夠看到國外程序員(大牛)的一些代碼,學(xué)習(xí)別人的編碼規(guī)范、問題解決方案,自己得到快速提升。
02 業(yè)務(wù)邏輯才是重心在網(wǎng)站功能多了、使用框架開發(fā)以后,你會發(fā)現(xiàn):一些重復(fù)的或底層的工作你已經(jīng)不需要做了(例如日志、重復(fù)的JDBC代碼等),你的重心轉(zhuǎn)到了業(yè)務(wù)邏輯的實現(xiàn)上。
從一個系統(tǒng)來看,其最重要的就是業(yè)務(wù)邏輯代碼。這部分代碼是支撐系統(tǒng)運行的靈魂支柱。
一個開發(fā)工程師的核心能力就是運用個人技能,完成業(yè)務(wù)功能實現(xiàn)。這里的業(yè)務(wù)功能可能會比較復(fù)雜。以一個網(wǎng)上商城下單的業(yè)務(wù)邏輯來看,這個過程需要鎖庫存、拆單下單、調(diào)用其它系統(tǒng)API同步數(shù)據(jù)等等。
所以說:在學(xué)習(xí)時期,重點是掌握語言、框架方面技術(shù);工作后,重點是積累解決問題的辦法(包括架構(gòu)方面)。
03 網(wǎng)站開發(fā)除了寫代碼,還有其它的事要做最后補充的是,網(wǎng)站開發(fā)不僅包括編碼,你還需要了解常用服務(wù)器軟件(nginx,tomcat等)基礎(chǔ)配置、掌握數(shù)據(jù)庫SQL優(yōu)化、基本的代碼版本管理等內(nèi)容。這些都是在工作中需要用到的。
以上內(nèi)容,如果認同記得【點個贊】哦~
歡迎關(guān)注我或給我留言:)
php好還是java好?區(qū)別有哪些?
兩個前景都很不錯,PHP適合初學(xué)者做網(wǎng)站編程的快速開發(fā),JAVA適合做軟件開發(fā)。選擇培訓(xùn)的時候一定要選擇合適的培訓(xùn)機構(gòu),不能盲目選擇,一個好的培訓(xùn)機構(gòu)能夠幫你快速的掌握開發(fā)技巧,節(jié)約大量的時間。在選擇培訓(xùn)機構(gòu)時,不建議選擇達內(nèi),雖然名聲很響亮,又是上市公司,但是,達內(nèi)的教學(xué)質(zhì)量真的太差了。無法想象竟然全部都是遠程視頻教學(xué),直接影響到教學(xué)質(zhì)量。
PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達到加密和優(yōu)化代碼運行,使代碼運行更快。
<?php
var_dump('hello word');
?>
這里的標題寫的是談?wù)凱HP和JAVA的區(qū)別,其實是委婉的說法,其實別人是想聽PHP好還是JAVA好!!! 從而從中找到存在感!!!
因為由于我是從多年的php開發(fā)轉(zhuǎn)到j(luò)ava開發(fā)的。所以最,不時的有好幾個同事問我,你覺得java好還是php好。我每次的回答都是,各有千秋吧,各有各的好處,這是最實際的答案。
然后臨了,去想想到底都有什么差別。今天我就來仔細總結(jié)下,php與java到底有啥差別吧。
1. php即寫即用的。
也就是說每次只有一改動完成,用戶立馬看到效果,而java則慢多了,代碼改動完成后,要重新編譯,然后重啟jvm,中間耗費的時間可是不少啊,而且重啟jvm過程可是會造成用戶響應(yīng)中斷的哦。
2. php寫東西快。
php可以說是非常敏捷的,一個需求給到,只要不考慮后期的性能和用戶量問題,那是相當快速的,甚至你都可以不用框架,直接寫也會非常快的,寫一個增刪改查功能,可能也就30-50行代碼就搞定了。而java就慢多了,首先要想一下用什么框架,目前基本上就是spring了,然后就是配置各種數(shù)據(jù)庫,過濾器,servlet,決定是用mybatis還是hibernate,然后考慮代碼之間的傳遞,然后考慮事務(wù)。。。 然后不停調(diào)試,一改代碼可能就是幾分鐘的等待時間,可想而知。
3. php的表面思路更清晰。
什么是表面思路,就是你看到的東西就是真正做出來的東西,比如echo "hello world",就是輸出hello world,而java則不同,你可能是寫response中,可能是寫在modelattribute中,也可能就是return了該字符串,然后不知道怎么的,它就顯示到頁面上了。
4. php占用內(nèi)存少。
php是進程式處理問題的,占用內(nèi)存相當少,可以說,你在一臺機器部署50個項目沒有任何問題,只要訪問量不上來,搞得定。而java就不行了,java每啟動一個項目,本身就得耗盡許多內(nèi)存,比如在一臺8g內(nèi)存的機器上,一般跑上2個項目就差不多了。
說了這php的好處,難道java就沒有好處嗎?那是不可能的。
JAVA1. java組件多。
我個人覺得單是這一點就蓋過其他所有優(yōu)點了,因為組件多,意味著用的人多,群眾的眼睛是雪亮的。所以,java一定是好的,它已經(jīng)積淀了太多的東西,不是一門新型語言能夠隨便替代的。你想要做什么,好好搜索java組件,可能都有你需要的功能,特別對于當下最流行的大數(shù)據(jù)產(chǎn)業(yè),java更是占據(jù)一方。而php在這種場景就有點無能為力了。
2. java線程池,連接池,異步化方便。
其實這一點和第一點也很相似,也是因為組件多,所以要使用線程池連接池都很方便,這對于高并發(fā)高性能的場景來說,是絕對必要的。因為java的運行原因就是多線程的,所以不用每次都去初始化很多基本的東西,這省去了太多的時間,也因此大家可以忍受服務(wù)器啟動的緩慢過程,因為只有一次。而php則是多進程的,每次都需要重新加載所有需要的代碼,也因此無法將一些常用數(shù)據(jù)保存在內(nèi)存,連接池也不大好做,異步操作更是一個大短板。
3. java是真正意義上的邏輯清晰。
因為,java中,你可以從一個進入可以借助IDE工具分析到最深層次的邏輯操作,對于每個字段,都可以清晰明了,這其實是接口和完全對象的一個使用優(yōu)點。而php則做不了或者說很少有人費那勁去做這種事情,php可以說是半面向?qū)ο蟀朊嫦蜻^程開發(fā),所以,在調(diào)用過程中插入幾個自定義的函數(shù)調(diào)用是很正常的,那么你再想通過簡單的IDE去分析調(diào)用鏈就不那么容易了。比如,對于第三方提供的接口,php就很難清楚的看出接口返回了什么,除非你把它打印出來,但是打印出來也不一定對,因為有些返回值的數(shù)據(jù)不一定有體現(xiàn)。這對于理解代碼來說,增加了一個大大的門坎。
4. 雖說java編譯比較煩,但是可以為你提前發(fā)現(xiàn)錯誤。
java的編譯的確比較耗時,但是如果有明顯的錯誤,編譯是不會通過的,這就給你一個重新檢查代碼的機會。而php則不會,不管你寫得多爛,都不會給你提示什么,而許多時候,往往就因為少寫了個;分號,導(dǎo)致你排查數(shù)小時。
5. java遠程調(diào)用方便,rmi,hessian,dubbo。
不管怎么樣,遠程和本地調(diào)用都很方便的知道相關(guān)的信息,而且java的同語言調(diào)用不是采用純粹的http調(diào)用,而且維護一定的連接,從而大大提高性能。而php也有遠程調(diào)用,但是相對來說就弱許多了。
總結(jié)php和java哪個更好,其實沒有問題是沒有絕對的好壞的,存在即合理。只是應(yīng)用場景不一樣罷了。
想要建設(shè)屬于自己的網(wǎng)站,而且是專業(yè)的,起碼要有自己的域名、服務(wù)器,以及自己的網(wǎng)站源碼。
PS:搭建網(wǎng)站之前,先想好自己的需求,預(yù)算,時間節(jié)點,自己做,還是外包做,是否需要可升級迭代的可拓展性等等。
1. 域名
新網(wǎng)也好,萬網(wǎng)也好,先根據(jù)自己的網(wǎng)站定位,買個容易讓人記住,而且有品牌標識性的域名。
個人建議阿里云購買,因為域名解析時間夠快。
.com / .cn / .net的后綴比較正規(guī)。建議一個域名就買個.com的就可以。
2. 服務(wù)器
云服務(wù)器這么多,阿里云、騰訊云、百度云、西部數(shù)據(jù)等等,前期建站可以選個便宜的,后期根據(jù)用戶訪問量再進行配置或者帶寬的升級。
3. 備案
icp備案和公安局備案千萬別忘了。
4. 建站
建站又分定制建站、模板建站。定制建站又分自己組團隊建站和外包建站兩種。
先想好自己的需求,是展示的企業(yè)網(wǎng)站,還是有電商屬性的網(wǎng)站,還是擁有咨詢屬性的網(wǎng)站,或者其他需求,比如有些游戲的官網(wǎng),既需要展示,又需要有論壇,還需要實現(xiàn)電商。
需要不需要漂亮的設(shè)計?著急不著急上線?是否要求有SEO需求?有沒有前后端交互需求等等。
都想明白了,再決定使用什么的團隊。
拿定制建站舉個例子,需要根據(jù)自己企業(yè)品牌定制建站,有SEO、有前后端交互需求,需要PC端、M端,網(wǎng)站響應(yīng)式。
一般技術(shù)團隊會包括產(chǎn)品、UI、前端、后端【java、php、python有一個就ok】。
再拿模板建站舉個例子,如果只是一般的展示類官網(wǎng),對外觀沒有太多的要求,沒有前后端的交互。
找個前后端都稍微懂點的技術(shù),模板建站so easy。
5. 補充說明
如果資金有限,又沒有太多要求,連自己的域名都不大需要,可接受使用二級域名。現(xiàn)在有很多公司可以實現(xiàn)分分鐘建站。比如凡科互動、搜狐快站等等。
一句話送給各位想建站的老板,想明白自己的真實需求,再決定采用什么方式建站才是最理性的。
如果覺得納蘭說得有點意思,請關(guān)注!謝謝!
作者簡介:納蘭說數(shù)碼,工科畢業(yè),愛玩愛搞機,也深愛寫作。關(guān)注我,咱們一起聊點有趣的數(shù)碼產(chǎn)品或者超酷有用的APP。專業(yè)建站,專業(yè)APP/網(wǎng)站/小程序制作,專業(yè)SEO。