『壹』 網站建設中的常用的的編程語言有哪些
我們經常說php站,ASP站等。
還是老一句話,不要去弄懂概念,否則一年的時間你都沒研究透到底啥是PHP,啥是ASP。
我就用我自己的理解來告訴大家一些基本的需要掌握的常識就可以了,也就足夠了。
1,常用的編程語言是asp(最常見),asp.net(經常用),php(頻率一般),JSP(使用頻率一般)。。
2,常用的資料庫是ACCESS資料庫(這個是最簡單,最常用的),SQL,以及MYSQL(這個安全性高)
3,ACCESS的資料庫的程序,不需要獨立的資料庫空間,所以使用該種資料庫的空間最便宜。 SQL或者是MYSQL都需要單獨購買資料庫空間,價格貴一些。
4,資料庫可以與編程語言隨意搭配,一般使用ACCESS資料庫的,直接上傳到空間里,就可以運行該程序,而SQL或者MYSQL的,需要先配置資料庫,比較麻煩一些。
5,安全系數,從語言的角度來講,ASP,ASP。NET,PHP以及JSP的安全性差不多,因為這都是成熟的語言,從語言上漏洞不大,ACCESS資料庫運行速度慢一些,安全系數差一些,因為可以被直接下載下來,並且破解,SQL和MYSQL的安全性和運行速度都要快一些。
6,所有的空間都是支持HTML的,ASP的空間只能運行ASP以及HTML,但是不能運行PHP。
一般的廣告頁,直接就是HTML的,不需要任何語言,這種一般選擇HTML空間就可以了,這種網站也叫靜態網站,但是不是說網頁上沒動畫的意思。
一般的小站程序,例如留言本或者是在線提交等一些小程序,都是ACCESS資料庫的,ASP語言的最多,因為這個容易管理。
一般的大站,基本上都是使用的SQL或者是MYSQL資料庫,因為運行速度快,安全系數高。
三者的開發成本也是依次增加的,所以一般新手做項目做站,可以先選擇ASP+ACCESS的程序,因為這種程序便於上手和管理,一般不會出現什麼問題。
網站來源: http://www.zhzoo.com/show_news.asp?id=91
『貳』 小程序開發用什麼語言
使用JS+CSS+HTML5語言。
小程序是基於微信平台的輕量級應用,它的開發是應用微信提供的小程序前端規范,結合企業自己開發的應用後端來製作的。
小程序開發使用的語言本質上就是JS+CSS+HTML5,不過不能直接用HTML標簽,微信提供一個組件庫,沒有DOM和其他瀏覽器上的API;網路、Canvas等也重新包裝過。
對於微信小程序而言,前端程序是唯一差異於網站建設技術的,因此,只要使用JS+CSS+HTML5讓前端程序過得了關,能夠寫前端的介面,那麼使用PHP,又或者java,以及asp.net的程序語言都是完全支持的。一般對於企業而言,都是採用php程序開發微信小程序;技術要求高一點的可以採用java程序開發。
(2)javaphpnetnodejs擴展閱讀:
微信小程序優點:
1、方便快捷,即用即走。不需要再下載什麼APP啦,既費流量,又占空間內存。小程序就是方便,即用即走。
2、速度快、不佔內存。因為小程序前端代碼都是存在微信伺服器上的,在騰訊雲端存放呢,所以無需載入,直接就打開了,速度也比較快。並且還不佔用手機內存。
3、安全穩定、保密性強。其實小程序就類似蘋果商店,首先需要審核才能發布。其次小程序通信採用的是https訪問,SSL加密通信,並且小程序樣式代碼都封裝在微信小程序裡面,所以安全性更高,更穩定。
4、功能豐富,場景豐富。可以調用比H5更多的手機系統功能來進行開發,例如GPS定位、錄音、拍視頻、重力感應等,能開發更豐富的使用場景。
5、開發成本低、維護簡便。同樣的功能,做一個APP估計需要十幾萬甚至幾十萬,而開發一個小程序,一般幾千元就搞定了。維護起來也比較簡單方便。
6、附近定位、入口眾多。開放的入口比較多,除了通過掃碼,發送朋友,搜索,附近等常用入口外,還能與公眾號關聯,群發文章嵌入,公眾號菜單鏈接等。
『叄』 web前端開發需要用到哪些知識
應該熟練掌握的基礎技能:
HTML4,HTML5語法、標簽、語義
CSS2.1,CSS3規范,與HTML結合實現各種布局、效果
Ecma-262定義的javascript的語言核心,原生客戶端javascript,DOM操作,HTML5新增功能
一個成熟的客戶端javascript庫,推薦jquery
一門伺服器端語言:如果有伺服器端開發經驗,使用已經會的語言即可,如果沒有伺服器端開發經驗,熟悉Java可以選擇Servlet,不熟悉的可以選PHP,能實現簡單登陸注冊功能就足夠支持前端開發了,後續可能需要繼續學習,最基本要求是實現簡單的功能模擬,
HTTP
在掌握以上基礎技能之後,工作中遇到需要的技術也能快速學習。
基本開發工具
恰當的工具能有效提高學習效率,將重點放在知識本身,在出現問題時能快速定位並
解決問題,以下是個人覺得必備的前端開發工具:
文本編輯器:推薦Sublime Text,支持各種插件、主題、設置,使用方便
瀏覽器:推薦Google Chrome,更新快,對前端各種標准提供了非常好的支持
調試工具:推薦Chrome自帶的Chrome develop tools,可以輕松查看DOM結構、樣式,通過控制台輸出調試信息,調試javascript,查看網路等
輔助工具:PhotoShop編輯圖片、取色,fireworks量尺寸,AlloyDesigner對比尺寸,以及前面的到的Chrome develop tools,
FQ工具:lantern, 壁虎漫步
學習方法和學習目標
方法:
入門階段反復閱讀經典書籍的中文版,書籍中的每一個例子都動手實現並在瀏覽器中查看效果
在具備一定基礎之後可以上網搜各種教程、demo,了解各種功能的實際用法和常見功能的實現方法
閱讀HTML,CSS,Javascript標准全面完善知識點
閱讀前端牛人的博客、文章提升對知識的理解
善用搜索引擎
目標:
熟記前面知識點部分的重要概念,結合學習經歷得到自己的理解
熟悉常見功能的實現方法,如常見CSS布局,Tab控制項等。
入門之路
以下是入門階段不錯的書籍和資料
HTML先看《HTML & CSS: Design and Build Websites》1-9章,然後《HTML5: The Missing Manual》1-4章。
CSS先看《CSS: The Missing Manual》,然後《CSS權威指南》
javascript先看《javascript高級程序設計》,然後《javascript權威指南》
HTTP看HTTP權威指南
在整個學習過程中HTML CSS JavaScript會有很多地方需要互相結合,實際工作中也是這樣,一個簡單的功能模塊都需要三者結合才能實現。
動手是學習的重要組成部分,書籍重點講解知識點,例子可能不是很充足,這就需要利用搜索引擎尋找一些簡單教程,照著教程實現功能。以下是一些比較好的教程網址
可以搜索各大公司前端校招筆試面試題作為練習題或者他人總結的前端面試題還有個人總結的面試題(帶參考答案)
http://code.tutsplus.com有各種各樣的教程
MDN也有很多教程,更重要的是裡面有詳細的文檔,需要查找某個功能時在Google搜索:xxx site:https://developer.mozilla.org
http://www.html5rocks.com/zh/也有很多優質教程
http://www.sitepoint.com/
http://alistapart.com/
原生javascript是需要重點掌握的技能,在掌握原生javascript的基礎上推薦熟練掌握jQuery,在實際工作中用處很大,這方面的書籍有《Learning jQuery》或者去jQuery官網
建一個https://github.com/賬號,保存平時學習中的各種代碼和項目。
有了一定基礎之後可以搭建一個個人博客,記錄學習過程中遇到的問題和解決方法,方便自己查閱也為其他人提供了幫助。也可以去http://www.cnblogs.com/或者http://www.csdn.net/這樣的網站注冊賬號,方便實用
經常實用Google搜索英文資料應該經常找到來自http://stackoverflow.com/的高質量答案,與到問題可以直接在這里搜索,如果有精力,注冊一個賬號為別人解答問題也能極大提高個人能力。
經典書籍熟讀之後,可以打開前面必備基礎技能部分的鏈接。認真讀對應標准,全面掌握知識
繼續提高
有了前面的基礎之後,前端基本算是入門了,這時候可能每個人心中都有了一些學習方向,如果還是沒有。
可以參考前面必備技能部分提到的那兩個項目,從裡面選一些進行發展學習。以下是一些不錯的方面:
Grunt:前端自動化工具,提高工作效率
less css:優秀的CSS預處理器
bootstrap:優秀的CSS框架,對沒有設計師的團隊很不錯,與less結合使用效果完美
requirejs:AMD規范的模塊載入器,前端模塊化趨勢的必備工具
Node.js:JavaScript也可以做後台,前端工程師地位更上一步
AngularJS:做Single Page Application的好工具
移動端web開發:智能手機的普及讓移動端的流量正在逐步趕超PC端
Javascript內存管理:SPA長期運行需要注意內存泄露的問題
High Performance JavaScript(Build Faster Web Application Interfaces)
Best Practices for Speeding Up Your Web Site:重要技能
####工具
chrome dev tools:前端開發調試利器,著重注意幾個功能:
liveload: 修改頁面後自動刷新,不用按F5
dimensions:直接在頁面上測量的利器
livestyle:css樣式修改後自動起效果,不需要刷新,elements修改後也能同步到代碼中
image tool:測量,取色
UC二維碼:移動端調試掃碼必備
pagespeed,YSlow:頁面性能分析和優化插件
馬克飛象:優秀的在線markdown編輯器,快速寫周報,做記錄
watch expression:通過表達式查看當前內存中的值
call stack:查看調用棧,開啟async,可以看非同步調用棧(這個非常有用,尤其是ajax調試的時候)
scope variables:作用域鏈上的變數,非常有用
console(廢話)
elements:元素樣式調整,很常用
sources:代碼中添加斷點,單步調試,以及單步調試過程中查看內存中的對象
network:抓包查看每個請求,非常重要,前後端聯調必備
timeline:分析渲染、js執行等等各個階段,性能優化利器
emulation:模擬移動端環境,mobile頁面開發必備
一些插件:
sublime text2:編碼方便,插件多,速度快,性能好
emmet:提升html編碼速度必備
sublimelinter + 各種語言的lint和hint:代碼糾錯
一些snippets:自動補全,提升開發效率
Intellij IDEA和WebStorm:集成開發環境,集成了各種功能,開發比sublime要方便,但會比較吃性能
Mark Men:測量、取色、標注利器,拿到視覺稿之後第一個打開的軟體
GFW Fucker:我用紅杏,可以的話買個虛擬伺服器當梯子
iHosts:非常優秀的hosts管理軟體,輕松修改hosts,開發調試必備
Charles:Mac 平台最好用的抓包分析工具
Rythem:AlloyTeam出品的代理抓包軟體,非常輕量,安裝簡單,移動端(真機)開發調試很好用
Wunderlist:一個非常不錯的Todo List,任務、需求多的時候管理起來很方便
####技能
前端的技能其實除了JavaScript(包括NodeJS)、HTML、CSS以外,還有很多。其實前端的技能樹很大,這里只能列一些我開發中見到的說一說
#####語言基礎
JavaScript:
作用域鏈、閉包、運行時上下文、this
原型鏈、繼承
NodeJS基礎和常用API
CSS:
選擇器
瀏覽器兼容性及常見的hack處理
CSS布局的方式和原理(盒子模型、BFC、IFC等等)
CSS 3,如animation、gradient、等等
HTML:
語義化標簽
#####進階
JavaScript:
非同步控制(Promise、ES6 generator、Async)
模塊化的開發方式(AMD、CMD、KMD等等)
JavaScript解釋器的一些相關知識
非同步IO實現
垃圾回收
事件隊列
常用框架使用及其原理
jQuery:基於選擇器的框架,但個人認為不能叫框架,應該算工具庫,因為不具備模塊載入機制,其中源碼很適合閱讀鑽研
AngularJS/Avalon等MVVM框架:著重理解MVVM模式本身的理念和雙向綁定的實現,如何解耦
underscore:優秀的工具庫,方便的理解常用工具代碼片段的實現
polymer/React: 組件化開發,面向未來,理解組件化開發的原理
CSS和HTML:主要是CSS3的特性和HTML5的特性,以及瀏覽器處理的流程和繪制原理
DOM樹、CSSOM樹、渲染樹的構建流程及頁面渲染的過程
解析HTML、CSS、JavaScript時造成的阻塞
HTML5相關
SVG及矢量圖原理
Canvas開發及動畫原理(幀動畫)
Video和Audio
flex box布局方式
icon fonts的使用
常用NodeJs的package:
koa
express
underscore
async
gulp
grunt
connect
request
一些理念:
響應式Web
優雅降級、漸進增強
dont make me think
網頁可用性、可訪問性、其中的意義
SEO搜索引擎優化,了解搜索引擎的原理
SPA的好處和問題
性能優化:
減少請求數量(sprite、combo)
善用緩存(application cache、http緩存、CDN、localstorage、sessionstorage,備忘錄模式)
減少選擇器消耗(從右到左),減少DOM操作(DOM和JavaScript解釋器的分離)
CSS的迴流與重繪
生態系統
npm
bower
spm
搭建一個屬於自己的博客
git pages
hexo
jekyll
#####未來
Web Componets:面向未來的組件化開發方式
HTML模板
Shadow DOM
Custom Elements
HTML Import
移動端Native開發:這也是需要了解的,以後前端工程師會經常地和webview打交道,也要了解native開發
『肆』 10.app後端選擇什麼開發語言
選擇開發語言就一個核心原則:在合適的業務場景的情況下選擇最熱門的語言.
(1)每種語言都有自己擅長的業務場景,根據業務場景來選擇
例如,如果需要開發一個聊天伺服器,選擇了php來開發,那真的醉了。php這種腳本語言怎麼適合聊天服務?
例如,如果是開發web網站,php就很合適,比起java,效率提升很多。
(2)選擇最熱門的語言
很多語言適用的業務場景是重疊,那麼這種情況下應該怎麼選擇?
我的答案是,選擇最熱門的。
從app後端的開發語言來說,java,php,python,ruby,golang,nodejs等等都可以,那我們到底選擇哪個?
我們估算一下,java,php,python,ruby,go這五種,擁有多少的開發群體?招人容易嗎?
開源社區活躍嗎?有沒有大量的第三方庫,能避免自己重復造輪子。
(3)一個大忌是用兩套不同的語言維護一個相同的業務邏輯
曾經,有個創業者咨詢我,他的項目有app和網站兩部分,他想用java來開發app後端,用php來開發網站後端,兩部分有大量的業務邏輯是相同的。
我立刻說明:這種情況就是重復造輪子的情況。用兩套語言去維護相同的業務邏輯,在開發效率上有提升嗎?
如果要修改業務邏輯,那兩種語言的實現需要修改,這不是浪費了大量的開發時間嗎?
(4)一個系統中,不同的業務邏輯可以用不同的開發語言實現
例如,後端系統的mvc框架部分可以採用php,而如果在後端需要實現一套定時任務系統,那麼就可以考慮採用java或python,這兩種語言都有成熟的定時任務實現方案.
最後,如果真的沒法決定採用哪種開發語言,還有一個辦法,找找和你業務邏輯差不多的同類產品,看他們的招聘要求,參考一下咯^-^
『伍』 ASP 、ASP.NET是不是和php同屬於網頁編程語言ASP、ASP.NET現在用的多嗎
這三者其實嚴格意義上來說都不屬於網頁編程語言,更准確的說是伺服器腳本語言。
何為伺服器腳本,指的是運行在伺服器上面的一種依賴解析引擎工作的指令集。
通俗來說,腳本就是指不通過編譯即可運行的程序。腳本的執行過程相當復雜,不同的語言的解析過程大相徑庭,也是造就腳本速度的關鍵因素之一。
回過頭來看,這三者均屬於伺服器腳本,用於接收、處理和發送數據。網頁編程語言指的是網頁開發所使用的語言,一般最常見的是HTML,css和javascript等。而伺服器腳本的作用之一,就是用於web開發,但卻不是他的所有功能。他的功能包含所有的網路功能,包括app數據相關,大數據處理等一系列用途。
asp,asp.net是屬於微軟的,而且並不開源。因此這就造成一個問題,通用性差,因為它只能運行在微軟的視窗操作系統上,而不能運行在其他系統上(其實,有辦法實現,但是效果不盡人意)。而總所周知,微軟視窗操作系統的授權費用高昂,加上諸如資料庫等,是筆不小的開支。因此,更多的公司傾向於使用php。根據統計,全球的使用Apache的網站中,超過94%的網站是使用php開發的,可見php的發展勢頭之猛。而且php具有很好的移植性,目前主流的開發方式是LAMP(或LNMP)。
asp和asp.net目前使用人數還算不錯,大部分是企業站和教育等網站,商業網站幾乎不可能用他們,當然微軟除外。這種網站要求規模小,技術低,維護成本低廉。因此,習慣於視窗操作系統的iis正是不錯的人選。
php是開源的產物,目前已經更新到了7的版本。php7正式向java的訪問速度提出了挑戰,結果如何,還不知,畢竟還處於初期,無法確定。
另外,新勢力——nodejs的崛起開始逐漸威脅php的地位,nodejs藉助v8引擎已經本身就是javascript的優勢,逐漸受到更多的web開發者的青睞。而且由於v8太過於優秀,nodejs的訪問速度是php和java所不能比的。
『陸』 nodejs的優勢
NodeJs的優勢:
現在的很多的伺服器端的語言(PHP,JAVA,ASP.net),有什麼問題呢,現在的伺服器端的語言在用戶訪問伺服器時,為每個用戶鏈接創建了一個線程,但每個線程大約要耗費2M的內存,如果一個8G內存的伺服器,也就能鏈接4000個左右的用戶,如果用戶的鏈接數較大,就必須增加伺服器的數量,而且現在用戶的鏈接方式有很多(如app,網頁同時訪問),這就又涉及到伺服器共享的問題,所以伺服器怎麼支持最大的同時鏈接用戶量就成了一個問題;
NodeJS修改了客戶端到伺服器端的鏈接方法,解決了這個問題,他不在為每個客戶端創建一個新的線程,而是為每個客戶端鏈接出發一個NodeJs內部進行處理的事件,所以NodeJS具備同時處理多達幾萬個用戶的客戶端鏈接的能力;
NodeJS適合開發的應用程序:
當應用程序需要處理大量並發的輸入/輸出,而在向客戶端發出響應之前,應用程序內部並不需要進行非常復雜的處理的時候,我們應該考慮使用NodeJs來進行應用程序的開發,例如:
1、聊天伺服器:如果聊天的人很多,用戶的與伺服器之間的並發鏈接量很大,但是伺服器端的數據處理並不復雜;
2、綜合類服務網站和電子商務網站的伺服器:在這類網站中的伺服器端,往往可能每秒存內可以接受多達上千條的數據並且需要將這些數據寫入資料庫中,NodeJs可以通過其隊列機制將這些數據迅速寫入緩存區中,然後再通過每一個單獨的處理從緩存區中取出這些數據並將其寫入資料庫中,如果是其他的伺服器(如Apache伺服器或Tomcat伺服器)的話,由於這些伺服器採用的是阻塞型I/O機制,因此每條數據寫入到資料庫中都要等待一段時間(等上一條寫完,才能寫下一條),但是NodeJs使用的是非阻塞的I/O機制,因此可以實現這些數據到資料庫中的寫入,而不必再為每條數據的寫入而等待一段時間;
總結:
一個規模稍微大點的系統都不是一種開發語言可以搞定的,往往是幾種混雜一起,比如c、c++做伺服器端開發,java做業務邏輯,php等做前端展示,此外還需要消息中間件等等。
nodejs可以很快地在伺服器端做原型(原來只有c系和java等能做的事情,性能還很高),而且代碼量相對會少很多;另一點是它的語法優勢,js閉包等。但它不太適合做cpu密集型處理的工作,只能繞著彎去解決,據說這次QCon會有人分享這方面的研究成果,可以關注下。
每種語言都有它適合的領域,沒必要強求一門語言可以解決所有事情,擁有其它語言的特性,只有不斷的tradeoff把系統做出來才是目標。這些都是叢書上看到總結的,還望指正
『柒』 高級語言排行
編程語言的受歡迎程度、學習的人群數量,以及由於人工智慧的興起,最熱門的編程語言排行榜也發生了變化。讓我們來看看。
可以看出,Python現在是最受歡迎的程序員編程語言。那麼,很多大公司都把Python作為自己旗下人工智慧的開發語言,比如亞馬遜、谷歌、FACEBOOK等等。那麼,如何讓自己使用Python開發的機器學習模型快捷低成本的跑起來,並且深度兼容TensorFlow?Google 針對人工智慧發布了AIY Projects(AIY計劃),其目標是讓每個Maker(創客)都能DIY自己的 AI 人工智慧產品,讓更多人能學習、探索並體驗人工智慧。對人工智慧領域以及正在學習Python的程序員或者創客們,可以去了解下谷歌的這個項目。