當前位置:首頁 » 網頁前端 » rubyonrailsweb開發
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

rubyonrailsweb開發

發布時間: 2022-10-16 08:15:57

㈠ Web前端開發工程師入門必備指南

今天小編要跟大家分享的文章是關於Web前端開發工程師入門必備指南。經過如此多的試驗和測試,而不是說你從頭開始創建了所有內容,接著,你在網頁上創建了第一個登錄表單時,你感覺如何?經過了多次更改後,將布局分配給第一個Web應用程序時感覺如何?當成功處理了數千個用戶的操作時,你感覺如何?

大多數Web開發人員都經歷了上述所有階段,最初可能會對其中某些感到沮喪,但是當他們看到自己的網站正在運行並且人們在世界各地使用它時,總體感覺確實令人興奮和驚奇。Web開發人員負責許多任務,從收集需求到設計網站,處理網站的後端部分,並使其成功地為用戶服務。每年,行業中都會涌現出新技術和工具,以提高開發人員的工作效率,並為用戶提供更好的網站。對於他們來說,保持在Web開發游戲之上的挑戰變得越來越大。今天,我們將討論要在2020年成為Web開發人員的完整地圖。這將是針對所有開發人員(前端,後端和全棧)的實用指南。下面來和小編一起看一看吧,希望本篇文章能夠對大家有所幫助。


1、首先確定你的目標或道路


我們將討論很多技術,趨勢和工具,但我們不希望您不知所措,因此你需要首先決定要成為一名Web開發人員要做什麼,因為這將幫助你選擇合適的工具。和學習技術。成為Web開發人員的原因有很多,下面列出了一些選擇因素:


·你想作為一名Web開發人員在一家公司工作,這是最普遍的原因。


·你想以自由開發人員的身份來開始自己的業務或代理。


·你可以成為其他公司的顧問。


·你可以創建自己的應用來賺錢。


·編碼是你的業余愛好。


從上述感興趣或目標的領域,你可以選擇適用於你的目標的正確工具和技術。如果你的目標是成為一名前端開發人員,則可以選擇前端開發的工具和技術。後端和全棧開發也是如此。


2、Web開發的基本工具和軟體


·
計算機和操作系統:如果沒有計算機和操作系統,則無法編寫代碼。要學習Web開發,你不需要任何高端計算機(如果你擁有的話,那麼更好)。你可以使用任何類型的中型筆記本電腦或台式機。對於操作系統,可以使用適合你的MacOS,Windows(最新版本)或Linux。


·文本編輯器/
IDE:毫無疑問,VSCode適用於大多數情況和大多數語言。它具有良好的性能,出色的擴展性,內置的終端功能以及大量功能。在2019年StackOverFlow調查中,VSCode也是開發人員的首選。你還可以選擇其他一些不錯的選擇,例如Sublime
Text或Atom。如果我們談論IDE,那麼是Visual
Studio(#或C#),Eclipse和Netbeans(Java)。是不錯的選擇。


·
Web瀏覽器:大多數開發人員的首選是Chrome或Firefox。Chrome速度很快,並且使用V8引擎(JavaScript引擎)。Firefox也取得了長足的進步,其中的一些好東西不在chrome瀏覽器中。兩種瀏覽器都有出色的開發工具,可以對Web開發中的問題進行故障排除。


·終端:您將使用一些系統命令來使用CLI進行很多工作。您可以將默認或第三方終端用於您的Web開發項目。Bash,Zsh,Powershell,Git
Bash,iTerm,Hyper這些都是可以使用的選項。


·設計(可選):並不是每個人都需要學習。在公司中,有專門的團隊來製作圖像,徽標或草圖,但是如果您是自由職業者,則可能必須學習Adobe
XD,Photoshop,Sketch或Figma。


3、從HTML和CSS開始


HTML和CSS是Web開發的基本構建塊。無論您的Web應用程序有多先進,或者使用什麼框架和後端語言,都必須使用HTML和CSS構建前端應用程序。因此,這是在Web開發中要學習的第一件事。


·HTML5(語義元素,屬性,文檔類型等)


·CSS基礎知識顏色,字體,位置,盒子模型等。


·CSSGrid和Flexbox對齊內容或創建列。


·CSS自定義屬性


4、響應式布局


您的應用程序應該在所有類型的設備(例如智能手機,平板電腦,台式機,iPad或任何其他屏幕尺寸的設備)上都可以查看和使用。因此,了解創建響應式設計或布局非常重要。讓我們來看一些重要的主題。


·了解如何設置視口


·媒體查詢不同的屏幕尺寸。


·流體寬度


·雷姆單位


·移動優先


5、自定義可重用CSS組件


與其依賴大型的CSS框架(如Bootstrap),不如創建自己的模塊化,可重用的CSS組件以在項目中使用。如果您構建自己的定製設計,則無需導入完整的庫。您創建只需要特定UI的組件。的新趨勢最近還出現了有助於更有效地編寫CSS代碼的代碼。如果你已經了解CSS,那麼您無需在學習Saas上花費很多精力。Saas是CSS預處理程序,可為標准CSS添加更多功能並使其更加高效。你可以使用變數,嵌套,條件語句來減少CSS的重復並提高其效率。你還可以為每個可重用組件創建單獨的Saas文件。Sass確實節省了很多時間,所以你絕對應該在2020年學習它。


6、CSS框架


學習CSS框架的普及程度不如去年,但對於不擅長設計的開發人員而言,仍然非常相關或有用。有許多流行的CSS框架可供使用,其中一些如下。


·Bootstrap是最流行的CSS框架。學習引導程序也有助於學習其他框架。


·Tailwind
CSS是其他正在流行的框架,與其他框架幾乎沒有什麼不同。它是一組實用程序類,因此您可以創建自己的按鈕和其他看起來與其他按鈕確實不同的東西。它們也是高度可定製的。


·物化


·布爾瑪


7、前端必須語言:JavaScript


學習HTML和CSS之後,接下來需要學習的是Vanilla
Javascript。對開發人員來說,掌握javascript基本知識非常重要。您將在伺服器端語言(例如PHP,Python或#)中使用大量javascript,並且如果您想與React,Angular,NodeJS,Vue或任何其他javascript框架或庫一起使用,則非常需要學習這種語言。以下是你應該在javascript中涵蓋的一些重要主題


·JavaScript基礎知識(變數,數據類型,函數,條件等)


·DOM(文檔對象模型)


·JSON(JavaScript對象表示法)


·提取API(請求/響應/Ajax)


·如果您想轉向React,Vue,Angular或其他框架,現代JS(ES6)概念對於學習非常重要。


8、一些重要工具


Web開發中將使用一些工具。這些工具將幫助你進行調試,提高生產率,管理代碼,與其他開發人員合作以及類似的東西。讓我們討論其中一些工具。


·
Git(版本控制)和Github是您肯定會在2020年學習的最受歡迎的工具。Git在與其他開發人員協作和管理代碼方面有很多幫助。您還可以選擇其他一些選項,例如GitLab,Bitbucket和其他一些選項。


·
了解如何使用瀏覽器開發工具。無論是chrome還是firefox,您都應該知道如何使用不同的選項卡,例如元素選項卡,javascript控制台,用於請求和響應的網路選項卡,應用程序選項卡以及其他用於不同目的的選項卡。


·大多數IDE或文本編輯器都具有添加擴展名或插件的功能,這對提高生產力和構建Web應用程序非常有幫助。例如,Visual
Studio代碼中的VSCode擴展可幫助下載擴展,例如實時伺服器或實時saas編譯器以與React一起使用。


·Emmet是另一個很棒的工具,它允許您編寫非常快速的HTML和CSS,這有助於提高開發人員的生產力。


·
學習使用javascript軟體包管理器,例如NPM和Yarn。如果您正在使用Javascript框架或庫(例如React),那麼這些軟體包管理器將使用很多,但是對於其他語言(例如Python或Php),您將使用不同的軟體包管理器。


·
如果要在前端安裝NPM軟體包,則必須使用Webpack或Parcel。如果要創建自己的模塊,或者要將一個javascript文件帶到另一個javascript文件,則默認情況下不能僅使用瀏覽器來執行此操作,因此需要Webpack或Parcel對其進行捆綁。


9、基本部署


此時,一旦你知道應該為前端開發學習什麼工具或技術,就需要知道如何在Internet上部署前端網站。如果你正在為小型企業構建一些小型應用程序,登錄頁面或個人站點,則無需學習AWS或DevOps,僅因為它們具有光澤和新潮。你將使事情變得更加復雜而不是簡單。你需要在2020年學習一些部署工具和步驟。


·域注冊(Namecheap,Google等)


·託管託管(InMotion,Hostgator,Bluehost等)


·靜態主機(Netlify,Github頁面)


·SSL證書。


·FTP,SFTP(文件傳輸協議)非常適合小型應用程序。


·SSH(安全外殼),用於高級應用程序。


·CLI和Git。


到目前為止,我們討論的任何工具,技術趨勢或步驟都是前端開發的一部分。您尚不知道該框架,但可以為個人和小型企業構建網站,也可以構建適合移動設備的布局。您還可以使用到目前為止討論的工具或技術來部署小型應用程序或項目。如果您想申請工作,那麼學習一些前端框架(如React,Vue或Angular)將是很棒的。


10、前端框架和狀態管理


框架使您可以進行更高級的前端開發。框架為您提供了許多優勢,例如可重用的組件,更有條理的UI或頁面交互。這對於協作更好,也有助於編寫簡潔的代碼。另外,了解狀態管理。每個框架都有不同的方法。以下是2020年的一些流行框架和狀態管理器。


·React:React庫是最流行的Web開發學習方法,與其他框架和庫相比,它相當容易。React開發人員還有很多工作要做。您可以將Rex和
ContextAPI與Hooks一起使用以進行狀態管理。


·Vue:
Vue也越來越受歡迎,開發人員也更喜歡學習Vue。與React和Angular相比,Vue最容易學習。VueX是為視圖而構建的狀態管理器。


·Angular:此框架通常在大型組織中使用。它具有相當陡峭的學習曲線。用Angular學習
TypeScript也很好。它允許您使用可選的靜態類型並支持ES2015的功能。NGRX和Services是可以學習此框架的良好狀態管理器。


可選學習:


·
如果您具有這三個框架之一的知識,那麼您還可以使用Svelte,它是一個JavaScript編譯器,可讓您生成純凈的原始JS代碼並幫助您輕松構建用戶界面。


·
了解伺服器端渲染。NextJS(React)和NuxtJS(Vue)是允許您在伺服器上運行React和Vue的框架。兩者都有很好的功能,例如更好的SEO,文件系統路由,自動代碼拆分,靜態導出,JS中的CSS和許多其他功能。


·靜態網站生成器:Gatsby(反應式)和Gridsome(Vue)


我們已經討論了所有大多數前端開發工具和技術。現在讓我們討論成為後端開發人員或全棧開發人員的語言和技術。


11、伺服器端語言(選擇一種)


您應該至少了解一種伺服器端語言。要在2020年選擇一種語言,下面提供了一些選項...


·NodeJS(不是語言,而是運行時環境)


·Python(非常適合初學者)


·Java(適合大型組織)


·Php(適合自由職業)


·Ruby(2020年少兩極)


·C#


·Go


注意:無論你喜歡學習哪種伺服器端語言,都要確保你了解使用該語言的數據結構和演算法。數據結構和演算法將幫助您為用戶呈現數據,並將幫助您優化Web應用程序中的代碼。我們特別建議您專注於使用數組和字元串(最重要)。你將同時使用這兩種方法。


12、伺服器端框架(選擇一項)


一旦學習了自己選擇的一種伺服器端語言,就可以使用其中一種語言框架。您可以選擇以下給出的選項之一...


·Node.js_Express,Koa,Adonis,Feather.js,Nest.js


·Python:Django,Flask,


·Java:SpringMVC,Grails


·PHP:Laravel,Symfony,Codeignitor,Slim


·Ruby:Sinatra上的RubyonRails


·C#:ASP.NETMVC


·Go:Revel


13、資料庫(選擇一項)


大多數Web應用程序都需要一個存儲數據的地方。在某些情況下,某些技術或某些語言可以與某些資料庫配合使用。例如:在Mern堆棧中,M代表MongoDB,而在LAMP堆棧中M代表MySQL,但完全取決於您要為應用程序選擇哪個資料庫。我們將討論2020年一些流行的資料庫。


·關系資料庫:RDBMS仍然是最受歡迎的資料庫。最喜歡使用PostgreSQL,MySQL,MSSQL。


·NoSQL:MongoDB,RethinkDB,CouchDB


·雲資料庫:Firebase,AzureCouldDB,AWS


·輕量級和緩存:Redis,SQLlite,NeDB


在學習資料庫時,您還將學習RDBMS,ORM(對象關系映射器)或ODM(對象數據映射器)的SQL(結構化查詢語言)。GraphQL
:(可選)您可以了解現在流行的GraphQL。這是API的查詢語言。它具有類似於JSON的簡單語法,並且相當容易實現。


14、CMS:內容管理


您絕對應該了解內容管理系統,尤其是如果您是自由職業者。CMS用於將內容添加到您的網站或應用程序。客戶能夠更新自己的內容非常好。


·
傳統CMS:WordPress(PHP),Drupal(PHP),Keystone(Javascript),Enro(Javascript)


·其他CMS:DEDECMS,帝國CMS,PHPcms,Prismic.io,Strati。


15、部署和DevOps


託管全棧應用程序或後端應用程序比僅前端應用程序要復雜一些,尤其是當您擁有資料庫時。確保您知道如何使用CLI進行部署。了解有關用於部署應用程序的以下內容。


在大多數公司中,有不同的團隊從事DevOps的工作。因此,擁有有關DevOps的知識完全是可選的。您可以了解到,如果您正在從事自己的項目。


·SSH(安全外殼)


·Web伺服器環境:NGINX,Apache


·應用程序託管:Linode,Heroku,AWS,Azure,Now。


·虛擬化:Docker,Vagrant


·測試:單元,功能,集成等


·負載平衡,監視,安全性。


以上就是小編今天為大家分享的關於Web前端開發工程師入門必備指南。以上所有技術工具都足以使您成為前端,後端或全棧開發人員。根據最終目標選擇正確的工具和技術。想要了解更多Web前端相關知識記得關注北大青鳥Web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的Web前端工程師!


英文|#/how-to-become-a-Web-developer-in-2020-a-complete-guide/翻譯|Web前端開發(ID:Web_qdkf)


㈡ 如何快速學習 Ruby on Rails

快速學習Ruby on Rails,這應該是個偽命題,沒有什麼事情是能夠快速學習的,尤其是編程,而且是Rails這樣極其復雜的框架,它由無數頂級高手成年累月的心血堆砌而成,融合了web開發領域內幾乎全部的最佳實踐。

如果想快速入門,那麼其他一些人提過的 Rails Tutorial,或者 Rails for Zombies 都是很好的選擇,但相信我,即便你能快速做出簡單的網站,依舊會對整個開發環境和知識體系一頭霧水,在面臨現實世界的需求時往往會捉襟見肘,花費更多的時間來補充缺失的知識。

所以,我認為如果你的目的不是創業,而是學習的話,全面有效成體系地吸收知識是更好的選擇,這方面,讀書是最好的方式,不過市場上濫竽充數的書籍實在很多,對於新手來說,怎樣用有限的時間讀最合適的書,是很重要的。

我在學習和使用Ruby與Rails的過程中,讀過大部分在Amazon排名靠前的相關書籍,當然有些不錯的書,隨著技術的進化,已經略顯陳舊。以下給出的閱讀列表,是在現在依然有效的選擇:

起點階段,強烈建議至少具備如下知識後再開始Rails開發

Html and CSS

結構和樣式不止是設計人員的事,web開發必須要熟悉

Head First HTML與CSS(第2版)

雖然已經出版了很久,但依然是最好的Html&CSS入門書

Linux

幾乎所有的開發環境都嚴重依賴於GNU/Linux為主的命令行環境,因此需要學習linux的基本概念和操作

The Linux Command Line

目前最好的linux command line學習指南,生動,清晰,詳細,無論是菜鳥還是多年的老手都能從中受益,遠超過之前作為標准教材的practical guide to xx系列。No starch這個出版社既有延續至今的Hacker精神,也懂得如何發掘有趣的作者

HTTP and Rest

Web開發對於Http的深入理解是必須的,另外Rails還使用Rest協議作為基本指導原則,所以需要深入理解Http和Rest

RESTful Web Services中文版

這本是目前為止最好的描述HTTP與Rest的作品,可以讓你重新認識Web,更何況其中的示例是Ruby語言(因為這本書合著者是Sam Ruby)

Programming

程序員修煉之道

這本書告訴你,如何做才能成為一個注重實效的程序員,涉及了非常多的理念和實踐,雖然都不深入,但至少讓你知道世界是什麼樣子的,是任何程序員最應該在新手階段讀的書,也是對整個業界影響最大的經典之一

Git and Version Control

版本控制在項目中是一開始就要使用的,不止是開發,一切事情都需要版本控制

Pro Git

這本是迄今為止講解Git最清楚最深入的書,對於新手,不建議看後面的實現原理,先讀前幾章了解概念和學習日常實踐使用是最重要的

Ruby

如果只是在Rails中使用的Ruby,可以使用一些免費的快速入門教程,不過,系統地學習Ruby,可以了解到很多面向對象開發或函數式編程的思想,對於熟悉和掌握Rails幫助非常大

Programming Ruby 1.9

公認的Ruby入門經典,不過對於新手來說,只推薦前半的入門部分,高階內容可以稍後再來學習

Rails

Learn Web Development with the Ruby on Rails Tutorial

最後是Rails自身的學習,這本書的最新版涵蓋Rails4,是目前為止最好最完整的Rails入門教程,可以在線看,還有大量的視頻搭配

進階階段,具備下面的知識,可以讓你或多或少地理解Rails Way,並真正開始寫出合格的Rails應用

Programming

重構

這本"重構"是當年石破天驚的經典著作,講解如何持續改進和讓代碼優雅干凈,擁有直到現在還依然適用的價值,尤其為Ruby On Rails社區廣泛接受,這本書有將其中的Java語言換成Ruby後的[版本](重構(Ruby版) (豆瓣))

UNIX編程藝術

由公認的黑客領袖之一Eric S.Raymond撰寫的這本書總結了長久以來的Unix領域中的設計和開發哲學,思想乃至文化體系,是了解Ruby和Rails誕生於其中的Unix黑客文化必不可少的讀物

Ruby

深入理解Ruby,除了上邊提到的Programming Ruby 1.9以及重構等通用編程書之外,還有以下幾個選擇

Ruby編程語言

Ruby之父松本行弘和O'Reilly的王牌作者合作,誕生了這本講解Ruby最透徹的經典著作

Eloquent Ruby

Ruby社區的編程指南之一,介紹了Ruby社群的文化,品味和編程原則,強烈地反映了Ruby程序員的共同特質: 幽默,健談,追求樂趣,熱愛生活

Test

測試驅動開發(TDD)以及之後進化的行為驅動開發(BDD)是Ruby和Rails社群的核心文化之一,只有徹底理解並運用BDD,才是合格的Rails開發者

The RSpec Book

唯一的也是必讀的BDD介紹作品,由RSpec核心成員撰寫

Git

可以堅持把Pro Git的後半部分學習完,沒有更深入和清楚的書了

CSS

CSS權威指南

Eric Meyer的CSS權威指南至今仍然是CSS2講解最全面和最深入的參考書

Javascript and jQuery

Web開發的交互性會越來越多,Javascript已經成為了相當嚴肅的編程語言

JavaScript權威指南

目前最全面最好的Javascript學習書籍

jQuery基礎教程 (第4版)

唯一尚可稱得上緊跟jQuery發展腳步的學習指南

Rails

Rails發展的實在太快了,最好的方法也許是跟蹤在線文檔,不過還是推薦這本

The Rails 4 Way

這本書的Rails 3版本講解Rails的哲學和細節相當到位,不過Rails 4版本還沒有出版,非常值得在今年3月份第一時間拿下它。

---

More

上邊的書籍都讀過的話,可能你終於能了解到Rails背後涉及的概念和實踐有多麼龐大驚人,也了解到了還有多麼深的知識鴻溝需要跨越,了解到了一切都還只是開始,不過值得慶幸的是,一切事情都需要個開始

㈢ 成為Web前端開發工程師的學習指南

今天小編要跟大家分享的文章是關於成為web前端開發工程師的學習指南。想要學習web前端開發技術的小夥伴們來和小編一起看一看吧,希望本篇文章能夠對大家有所幫助。

1、首先確定你的目標或道路


我們將討論很多技術,趨勢和工具,但我們不希望您不知所措,因此你需要首先決定要成為一名Web開發人員要做什麼,因為這將幫助你選擇合適的工具。和學習技術。成為Web開發人員的原因有很多,下面列出了一些選擇因素:


·你想作為一名Web開發人員在一家公司工作,這是最普遍的原因。


·你想以自由開發人員的身份來開始自己的業務或代理。


·你可以成為其他公司的顧問。


·你可以創建自己的應用來賺錢。


·編碼是你的業余愛好。


從上述感興趣或目標的領域,你可以選擇適用於你的目標的正確工具和技術。如果你的目標是成為一名前端開發人員,則可以選擇前端開發的工具和技術。後端和全棧開發也是如此。


2、Web開發的基本工具和軟體


·
計算機和操作系統:如果沒有計算機和操作系統,則無法編寫代碼。要學習Web開發,你不需要任何高端計算機(如果你擁有的話,那麼更好)。你可以使用任何類型的中型筆記本電腦或台式機。對於操作系統,可以使用適合你的MacOS,Windows(最新版本)或Linux。


·文本編輯器/
IDE:毫無疑問,VSCode適用於大多數情況和大多數語言。它具有良好的性能,出色的擴展性,內置的終端功能以及大量功能。在2019年StackOverFlow調查中,VSCode也是開發人員的首選。你還可以選擇其他一些不錯的選擇,例如Sublime
Text或Atom。如果我們談論IDE,那麼是Visual
Studio(#或C#),Eclipse和Netbeans(Java)。是不錯的選擇。


·
Web瀏覽器:大多數開發人員的首選是Chrome或Firefox。Chrome速度很快,並且使用V8引擎(JavaScript引擎)。Firefox也取得了長足的進步,其中的一些好東西不在chrome瀏覽器中。兩種瀏覽器都有出色的開發工具,可以對Web開發中的問題進行故障排除。


·終端:您將使用一些系統命令來使用CLI進行很多工作。您可以將默認或第三方終端用於您的Web開發項目。Bash,Zsh,Powershell,Git
Bash,iTerm,Hyper這些都是可以使用的選項。


·設計(可選):並不是每個人都需要學習。在公司中,有專門的團隊來製作圖像,徽標或草圖,但是如果您是自由職業者,則可能必須學習Adobe
XD,Photoshop,Sketch或Figma。


3、從HTML和CSS開始


HTML和CSS是Web開發的基本構建塊。無論您的Web應用程序有多先進,或者使用什麼框架和後端語言,都必須使用HTML和CSS構建前端應用程序。因此,這是在Web開發中要學習的第一件事。


·HTML5(語義元素,屬性,文檔類型等)


·CSS基礎知識顏色,字體,位置,盒子模型等。


·CSSGrid和Flexbox對齊內容或創建列。


·CSS自定義屬性


4、響應式布局


您的應用程序應該在所有類型的設備(例如智能手機,平板電腦,台式機,iPad或任何其他屏幕尺寸的設備)上都可以查看和使用。因此,了解創建響應式設計或布局非常重要。讓我們來看一些重要的主題。


·了解如何設置視口


·媒體查詢不同的屏幕尺寸。


·流體寬度


·雷姆單位


·移動優先


5、自定義可重用CSS組件


與其依賴大型的CSS框架(如Bootstrap),不如創建自己的模塊化,可重用的CSS組件以在項目中使用。如果您構建自己的定製設計,則無需導入完整的庫。您創建只需要特定UI的組件。的新趨勢最近還出現了有助於更有效地編寫CSS代碼的代碼。如果你已經了解CSS,那麼您無需在學習Saas上花費很多精力。Saas是CSS預處理程序,可為標准CSS添加更多功能並使其更加高效。你可以使用變數,嵌套,條件語句來減少CSS的重復並提高其效率。你還可以為每個可重用組件創建單獨的Saas文件。Sass確實節省了很多時間,所以你絕對應該在2020年學習它。


6、CSS框架


學習CSS框架的普及程度不如去年,但對於不擅長設計的開發人員而言,仍然非常相關或有用。有許多流行的CSS框架可供使用,其中一些如下。


·Bootstrap是最流行的CSS框架。學習引導程序也有助於學習其他框架。


·Tailwind
CSS是其他正在流行的框架,與其他框架幾乎沒有什麼不同。它是一組實用程序類,因此您可以創建自己的按鈕和其他看起來與其他按鈕確實不同的東西。它們也是高度可定製的。


·物化


·布爾瑪


7、前端必須語言:JavaScript


學習HTML和CSS之後,接下來需要學習的是Vanilla
Javascript。對開發人員來說,掌握javascript基本知識非常重要。您將在伺服器端語言(例如PHP,Python或#)中使用大量javascript,並且如果您想與React,Angular,NodeJS,Vue或任何其他javascript框架或庫一起使用,則非常需要學習這種語言。以下是你應該在javascript中涵蓋的一些重要主題


·JavaScript基礎知識(變數,數據類型,函數,條件等)


·DOM(文檔對象模型)


·JSON(JavaScript對象表示法)


·提取API(請求/響應/Ajax)


·如果您想轉向React,Vue,Angular或其他框架,現代JS(ES6)概念對於學習非常重要。


8、一些重要工具


Web開發中將使用一些工具。這些工具將幫助你進行調試,提高生產率,管理代碼,與其他開發人員合作以及類似的東西。讓我們討論其中一些工具。


·
Git(版本控制)和Github是您肯定會在2020年學習的最受歡迎的工具。Git在與其他開發人員協作和管理代碼方面有很多幫助。您還可以選擇其他一些選項,例如GitLab,Bitbucket和其他一些選項。


·
了解如何使用瀏覽器開發工具。無論是chrome還是firefox,您都應該知道如何使用不同的選項卡,例如元素選項卡,javascript控制台,用於請求和響應的網路選項卡,應用程序選項卡以及其他用於不同目的的選項卡。


·大多數IDE或文本編輯器都具有添加擴展名或插件的功能,這對提高生產力和構建Web應用程序非常有幫助。例如,Visual
Studio代碼中的VSCode擴展可幫助下載擴展,例如實時伺服器或實時saas編譯器以與React一起使用。


·Emmet是另一個很棒的工具,它允許您編寫非常快速的HTML和CSS,這有助於提高開發人員的生產力。


·
學習使用javascript軟體包管理器,例如NPM和Yarn。如果您正在使用Javascript框架或庫(例如React),那麼這些軟體包管理器將使用很多,但是對於其他語言(例如Python或Php),您將使用不同的軟體包管理器。


·
如果要在前端安裝NPM軟體包,則必須使用Webpack或Parcel。如果要創建自己的模塊,或者要將一個javascript文件帶到另一個javascript文件,則默認情況下不能僅使用瀏覽器來執行此操作,因此需要Webpack或Parcel對其進行捆綁。


9、基本部署


此時,一旦你知道應該為前端開發學習什麼工具或技術,就需要知道如何在Internet上部署前端網站。如果你正在為小型企業構建一些小型應用程序,登錄頁面或個人站點,則無需學習AWS或DevOps,僅因為它們具有光澤和新潮。你將使事情變得更加復雜而不是簡單。你需要在2020年學習一些部署工具和步驟。


·域注冊(Namecheap,Google等)


·託管託管(InMotion,Hostgator,Bluehost等)


·靜態主機(Netlify,Github頁面)


·SSL證書。


·FTP,SFTP(文件傳輸協議)非常適合小型應用程序。


·SSH(安全外殼),用於高級應用程序。


·CLI和Git。


到目前為止,我們討論的任何工具,技術趨勢或步驟都是前端開發的一部分。您尚不知道該框架,但可以為個人和小型企業構建網站,也可以構建適合移動設備的布局。您還可以使用到目前為止討論的工具或技術來部署小型應用程序或項目。如果您想申請工作,那麼學習一些前端框架(如React,Vue或Angular)將是很棒的。


10、前端框架和狀態管理


框架使您可以進行更高級的前端開發。框架為您提供了許多優勢,例如可重用的組件,更有條理的UI或頁面交互。這對於協作更好,也有助於編寫簡潔的代碼。另外,了解狀態管理。每個框架都有不同的方法。以下是2020年的一些流行框架和狀態管理器。


·React:React庫是最流行的Web開發學習方法,與其他框架和庫相比,它相當容易。React開發人員還有很多工作要做。您可以將Rex和
ContextAPI與Hooks一起使用以進行狀態管理。


·Vue:
Vue也越來越受歡迎,開發人員也更喜歡學習Vue。與React和Angular相比,Vue最容易學習。VueX是為視圖而構建的狀態管理器。


·Angular:此框架通常在大型組織中使用。它具有相當陡峭的學習曲線。用Angular學習
TypeScript也很好。它允許您使用可選的靜態類型並支持ES2015的功能。NGRX和Services是可以學習此框架的良好狀態管理器。


可選學習:


·
如果您具有這三個框架之一的知識,那麼您還可以使用Svelte,它是一個JavaScript編譯器,可讓您生成純凈的原始JS代碼並幫助您輕松構建用戶界面。


·
了解伺服器端渲染。NextJS(React)和NuxtJS(Vue)是允許您在伺服器上運行React和Vue的框架。兩者都有很好的功能,例如更好的SEO,文件系統路由,自動代碼拆分,靜態導出,JS中的CSS和許多其他功能。


·靜態網站生成器:Gatsby(反應式)和Gridsome(Vue)


我們已經討論了所有大多數前端開發工具和技術。現在讓我們討論成為後端開發人員或全棧開發人員的語言和技術。


11、伺服器端語言(選擇一種)


您應該至少了解一種伺服器端語言。要在2020年選擇一種語言,下面提供了一些選項...


·NodeJS(不是語言,而是運行時環境)


·Python(非常適合初學者)


·Java(適合大型組織)


·Php(適合自由職業)


·Ruby(2020年少兩極)


·C#


·Go


注意:無論你喜歡學習哪種伺服器端語言,都要確保你了解使用該語言的數據結構和演算法。數據結構和演算法將幫助您為用戶呈現數據,並將幫助您優化Web應用程序中的代碼。我們特別建議您專注於使用數組和字元串(最重要)。你將同時使用這兩種方法。


12、伺服器端框架(選擇一項)


一旦學習了自己選擇的一種伺服器端語言,就可以使用其中一種語言框架。您可以選擇以下給出的選項之一...


·Node.js_Express,Koa,Adonis,Feather.js,Nest.js


·Python:Django,Flask,


·Java:SpringMVC,Grails


·PHP:Laravel,Symfony,Codeignitor,Slim


·Ruby:Sinatra上的RubyonRails


·C#:ASP.NETMVC


·Go:Revel


13、資料庫(選擇一項)


大多數Web應用程序都需要一個存儲數據的地方。在某些情況下,某些技術或某些語言可以與某些資料庫配合使用。例如:在Mern堆棧中,M代表MongoDB,而在LAMP堆棧中M代表MySQL,但完全取決於您要為應用程序選擇哪個資料庫。我們將討論2020年一些流行的資料庫。


·關系資料庫:RDBMS仍然是最受歡迎的資料庫。最喜歡使用PostgreSQL,MySQL,MSSQL。


·NoSQL:MongoDB,RethinkDB,CouchDB


·雲資料庫:Firebase,AzureCouldDB,AWS


·輕量級和緩存:Redis,SQLlite,NeDB


在學習資料庫時,您還將學習RDBMS,ORM(對象關系映射器)或ODM(對象數據映射器)的SQL(結構化查詢語言)。GraphQL
:(可選)您可以了解現在流行的GraphQL。這是API的查詢語言。它具有類似於JSON的簡單語法,並且相當容易實現。


14、CMS:內容管理


您絕對應該了解內容管理系統,尤其是如果您是自由職業者。CMS用於將內容添加到您的網站或應用程序。客戶能夠更新自己的內容非常好。


·
傳統CMS:WordPress(PHP),Drupal(PHP),Keystone(Javascript),Enro(Javascript)


·其他CMS:DEDECMS,帝國CMS,PHPcms,Prismic.io,Strati。


15、部署和DevOps


託管全棧應用程序或後端應用程序比僅前端應用程序要復雜一些,尤其是當您擁有資料庫時。確保您知道如何使用CLI進行部署。了解有關用於部署應用程序的以下內容。


在大多數公司中,有不同的團隊從事DevOps的工作。因此,擁有有關DevOps的知識完全是可選的。您可以了解到,如果您正在從事自己的項目。


·SSH(安全外殼)


·Web伺服器環境:NGINX,Apache


·應用程序託管:Linode,Heroku,AWS,Azure,Now。


·虛擬化:Docker,Vagrant


·測試:單元,功能,集成等


·負載平衡,監視,安全性。


以上所有技術工具都足以使您成為前端,後端或全棧開發人員。根據最終目標選擇正確的工具和技術。


以上就是小編今天為大家分享的關於成為web前端開發工程師的學習指南的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助,想要了解更多web前端相關知識記得關注北大青鳥web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的web前端開發工程師。


英文|#/how-to-become-a-web-developer-in-2020-a-complete-guide/翻譯|web前端開發(ID:web_qdkf)


㈣ 如何從零開始學會 Ruby on Rails

以下步驟請一步一步來,切勿心急跳過,最好連我上面的鏈接都不要提前點擊!
1.安裝 Linux 或 Mac, 開發工具使用 Windows -> E-TextEditor, Linux -> Sublime Text, Mac ->TextMate 當然你也可以用 Vim
2.看完guides rubyonrails org 這里有繁體版本;
3.通過學習 Rails Guides 實現一個博客系統,保函完整,包括UI的功能(預計兩周);
4.從頭到尾一字不漏的看完 《應用Rails進行敏捷Web開發》,這里有電子書下載 ,由於篇幅過長,建議買書看,也不貴;
5.回頭審視之前的博客設計和《應用Rails進行敏捷Web開發》的區別,可以再重新搞個博客;
6.看完 《Getting Real》,預計兩個小時;
7.搞明白 Gem, RVM, Bundler 是什麼;
8.看完 《Rework》,這里有電子書;
9.學習 Git, 並長期使用;
10.看 railscasts com 的視頻教程,重第一頁開始看,可以學到很多技巧,以免走彎路。

㈤ Ruby和Ruby on Rails在2017年還有前途嗎

Ruby是一門編程語言,RubyonRails是Ruby的一個web框架,簡稱Rails。有很多人對Rails感興趣,但又不知道從何下手、學習路線是什麼,因為在多個場合下回答過類似問題,所以決定整理成文章供大家參觀。有很多人選擇直接學習Rails,在學習使用Rails的過程中學習Ruby。但我覺得這有些本末倒置,我更推崇先學Ruby再學Rails,在對Ruby有了一定的了解後再學Rails有事半功倍的效果,同時也不會那麼有挫敗感。另外,不管你之前是否有過其它編程語言(如Java、php等)的經驗,都可以直接學Ruby編程語言。廢話有些多,下面列出一些指南,註:本文寫於2011年11月4日,並於2014年8月8日更新,所有軟體版本都以該日為准。開發平台選擇Mac>Linux>Windows如果可以,最好不要在Windows下折騰Rails,你會浪費大量時間在解決一些莫名其妙的問題上,而這些問題可能永遠不會在Linux或Mac下出現。開發工具選擇Mac下首推Textmate,因為免費;其次SublimeText3;再次Macvim,最後是一個IDERubymine。Linux和Windows下推薦SublimeText3或vim,也可以使用Rubymine。Ruby版本選擇推薦Ruby2.1.x,備選Ruby2.0.xRails版本選擇推薦Rails4.1.x,也就是目前的最新版(Rails4.1.4),因為Rails更新非常快,且從不向下兼容,所以我推薦新手直接學最新版。Ruby及Rails組合推薦Ruby2.1+Rails4.1.x,備選:Ruby2.0.x+Rails4.0.x版本控制系統選擇大家可能更熟悉cvs或SVN,但在這我推薦使用Git,可以看《ProGit》(中文)或《GitCommunityBook中文版》。書籍推薦先學Ruby推薦看《ProgrammingRuby1.9&2.0》(目前只有英文版),需要中文書的話,可以看《Ruby基礎教程(第4版)》。再學Rails看《》(中文版地址)Ruby進階看《TheWell-GroundedRubyist》,Rails進階看《TheRails4Way》註:上面有提到,因為Rails更新非常快,且不向下兼容,同時中文翻譯引進本來就慢,所以導致Rails的簡體中文資料嚴重滯後,不推薦閱讀。註:推薦《》而不是《AgileWebDevelopmentWithRails》第4版的原因是,我個人覺得前者寫的更好更簡單易懂。補充幾本繁體中文的書《RubyonRails實戰聖經》(還未更新到rails4)《Rails101-火速學會RubyonRails》《笨方法學Ruby》做參考。必看資料Rails官方出的Guide,英文,會不斷更新,內容詳實,必看。也可以看中文版,國人同步翻譯。開發環境搭建Mac用戶可以看「InstallRubyonRails-MacOSX」一文,會不斷更新。Linux用戶可以看「InstallRubyonRails-Ubuntu」一文,會不斷更新。以上兩個安裝教程非常完善和全面,會讓你少踩很多地雷,推薦,雖然是英文的。如果你英語實在不行,那請閱讀RubyChina上的「如何快速正確的安裝Ruby,Rails運行環境」一文。如果你使用Windows操作系統,請使用「RailsInstaller一鍵安裝包」。再次提醒,除非迫不得已,請不要在Windows下折騰Rails。推薦站點1,RubyChinahttp://ruby-china.org,目前國內人氣比較不錯的一個ruby和rails相關的社區,推薦經常上去逛逛。尤其是Wiki部分更應該多看看,都是非常棒的資料。2,「CrazyDeep」RailsExamplesandTutorials,如果英語尚可,也推薦經常閱讀,這裡面有很多非常有用的鏈接和教程,包括搭建環境等,定期更新,推薦。

㈥ 游戲開發中常用哪種腳本語言

游戲開發?那必然是Lua~效率高~但是手機游戲上有用其他語言的~Lua比較多而已~
有個別公司用Java當腳本~

㈦ 有問 ruby on rails 是做什麼的

技術方面ror不錯,有人說web開發的理念遠領先其他所有框架。2005年左右很火,之後很多其他語言的框架都在模仿ror。之後很多的框架上都有ror的一些影子。

優點是開發速度快,缺點是運行速度老受質疑,twitter就經常超負荷而不能訪問,後來後台用基於java平台的scala提升性能才解決。不過通常網站的性能瓶頸多半是設計,再說沒幾個網站有twitter那樣的流量。

ruby有一個java寫的jruby,幾乎完全兼容ruby,但是據說運行速度居然超過c寫的ruby,你也可以考慮用jruby開發,寫的程序代碼和ruby幾乎一樣,而最終的程序可以在java伺服器上運行。

另外,是國內一個用ror做的不錯的網站,技術氛圍很濃,也很推崇ror,可以去看看。

㈧ 如何從 0 開始學 Ruby on Rails

如果你是一個門外漢,你會 .NET 或是 Java 或是 PHP ... 你對 Ruby on Rails 感興趣,想學習,開怎麼開始?
如果你有以上語言兩年以上的工作經驗,按照我指的路子,最慢1個月就能學會 Ruby on Rails,這個方案曾經經過好幾個人證實。
以下步驟請一步一步來,切勿心急跳過,最好連我上面的鏈接都不要提前點擊!
安裝 Linux 或 Mac, 開發工具使用 Windows -> E-TextEditor, Linux -> Sublime Text, Mac ->TextMate 當然你也可以用 Vim
看完 http //guides rubyonrails org 這里有繁體版本;
通過學習 Rails Guides 實現一個博客系統,保函完整,包括UI的功能(預計兩周);
從頭到尾一字不漏的看完 《應用Rails進行敏捷Web開發》,這里有電子書下載 ,由於篇幅過長,建議買書看,也不貴;
回頭審視之前的博客設計和《應用Rails進行敏捷Web開發》的區別,可以再重新搞個博客;
看完 《Getting Real》,預計兩個小時;
搞明白 Gem, RVM, Bundler 是什麼;
看完 《Rework》,這里有電子書;
學習 Git, 上 http //github com 並長期使用;
看 http //railscastscom 的視頻教程,重第一頁開始看,可以學到很多技巧,以免走彎路。

㈨ 成為Web開發人員的7個簡單步驟

你想成為一名Web開發人員,但現在你面前有這樣一個問題,那就是你沒有在高科技行業工作的經驗。你上了一些課程,也花了時間在個人編碼項目上,但是你的簡歷上關於「經驗」的部分仍然不為企業承認。過渡到一個新的領域從來就不是一件簡單的事。你不知道你是否准備好了,不知道是否有人會認真對你,也不知道你是否能得到工作。


相信我,不要讓那些懷疑阻礙你的前進。事實上,它並不難——只要你在跳躍前做好充分的准備。北大青鳥web前端培訓專家(web.te.cn)這七個指導步驟將幫助你無縫過渡到Web開發。


1、弄清楚你想要做什麼


你心裡越明確,制定的計劃就越專業化。不要廣撒網:要縮小你的選擇。


前端還是後端開發?


用戶體驗設計師還是用戶界面工程師?


JS還是React.js?


雖然成為萬事通有一定的價值,但是大多數公司和客戶更傾向於僱用一個具備特定技能的專業人員,當然如果你是一個自由職業者除外。


那麼你怎麼確定你想要專長於哪方面呢?反復嘗試,研究和技能評估測試是一個很好的起點。但是了解自己更重要:明確自己的喜愛。你想整天編寫代碼嗎?你喜歡界面設計嗎?一定要搞清楚所有相關的東西。


2、研究目標工作的職位和公司


這和整理招聘廣告一樣簡單。有沒有哪個特定職稱吸引你的眼球?閱讀詳細說明,看看你是否可以扮演那個角色。


當涉及到公司的時候,通過類似於Glassdoor的網站,可以使得偵查企業變得更容易。你不僅可以從Glassdoor中得到關於薪水的大概主意,也可以閱讀來自於現任和前任員工的評論。還有一個方法是看一看LinkedIn上真正工作在你期望的那個職位上的人。


編譯一個理想公司理想崗位的列表/電子表格。


3、確定你所需的技能和經驗


現在,你已經有了一份關於你感興趣的公司和職位的名單,所以接下來就需要弄清楚這些崗位需要什麼樣的技能和經驗,有哪些重疊的地方。


一定要注意重疊的技能或經驗,這是你學習的重點。他們使用React或Angular嗎?使用MEAN堆棧或RubyonRails?


還有另一個方法可以讓你知道一家公司的網站使用了什麼技術,那就是通過利用類似於BuiltWith的工具。它會顯示框架、語言等該網站所依賴的東西。例如,我們可以看到Airbnb使用Ruby
onRails。


4、補充你缺少的技能


現在你有一個關於理想公司理想工作的電子表格,以及這些職位不斷重現的技術/工具。


現在,確定哪些技能比其他技能更容易克服。


你可能在某些領域已經擁有了相關的工作經驗。例如你目前的職位,哪怕不是技術性的,你也可以使用兩個職位都需要的一些相似軟體——例如Microsoft
Excel。


其中的一些技巧,簡單明了,易於學習——就像學習Google
Analytics,相反的,當你幾乎沒有一點JS經驗時,學習一個JS庫,如React就會覺得很難。


5、找到建立信心的根據


接下來,你要舉一些有趣的開發例子。


萬事開頭難,但是你可以通過這里介紹的一些方法,來積累你的經驗:


為朋友和家人工作


構建你自己的項目


在非營利性組織做志願工作


當你的勞動力是免費或廉價的時候,一定要要求LinkedIn上的推薦或建議作為你時間和精力的回報。另外,還要確保添加所有代碼到GitHub上。


6、通過網路和創建一個在線形象退穎而出


大多數開放的職位是通過招聘或推薦補充的。傳統的應用程序進程幾乎已經死去。酒香也怕巷子深,你需要讓自己脫穎而出。


這里有兩種方法可以做到這一點:


1)聯系現實中的人


參加聚會,活動和會議。隨後,聯系你在LinkedIn或Twitter上認識的人。如果你遇到的人恰好與你想要的工作有關系或遇到的那個人正在招聘你想要的工作,那麼向他們詢問經驗和技能。


建立關系是至關重要的——特別是對於新手。通過與那些有著你期望的工作或經驗的人構建聯系,可以幫助你進入你的目標公司。


2)網路


你也可以通過不需要面對面的網路。你可以創立一個博客,加入Facebook和LinkedIn組,參加虛擬會議,通過電子郵件與他人聯系,打Skype電話,致力於開源項目等。


需要注意的是,即使是在數字世界中,當彼此之間只能通過屏幕交流時,溝通起來會有點困難。不過,這些網路上的方法還是可行的,可用來建立你的知名度。


7、調整簡歷/LinkenIn/作品


由於你已經刷新了你的技能,又和行業人員有了聯系,所以就到了調整簡歷/LinkedIn/作品的時候了。


首先,確定可轉移的技能。某些特質在幾乎所有職位中都是可取的。這些特質包括表達能力,溝通能力,領導力,時間管理,解決問題的能力等。


接下來,突出你的成就。無論是不是技術性的,突出那些可以讓你看上去像一個優秀員工的成就。即使比起專業成績,它更像是愛好的一部分,也沒關系,反正高科技產業就是古怪的。他們希望自己的員工具備背景、激情等的多樣性。


最後,用一個數據支持的例子說明你可以勝任高科技崗位。或者說是,展示證據。這證據可以是一個作品網站,上面放一些真實的案例;一個GitHub,概述令人印象深刻的項目庫和貢獻;博客,你已經在上面寫了你做的事情;以及主要的LinkedIn建議,或上面這些的組合。

㈩ 游戲開發中常用哪種腳本語言

隨著《魔獸世界》(以下簡稱wow)在世界范圍內流行,腳本漸漸被人們所熟知。由於wow強大的自定義界面系統,Lua這一腳本語言一舉成名。

其實早在Lua腳本語言被大眾所熟知以前,游戲業內人士就已經開始使用腳本來開發游戲了。我們熟悉的很多國內的網路游戲大都運用了腳本開發,比如網游的長青樹「夢幻西遊和《大話西遊2就大量應用了腳本技術。特別是《大話西遊2》,其實現基於Lua腳本游戲開發的時間要遠早於《魔獸世界》。在腳本技術上,國內與國外其實是站在同一起跑線上的,並不存在什麼差距,這也為國內游戲產業趕超國外游戲產業提供了強有力的技術保證。

在單機游戲時代,腳本這個詞幾乎很少出現,那麼,為什麼在網路游戲時代它卻成了業界的寵兒呢?原因是多方面的。

單機游戲時代,無論游戲主機還是PC機,它們的性能都非常低下,從而需要具有較高執行效率的編譯型語言對機器的性能進行「壓榨」。隨著科技發展和硬體性能的不斷提升,腳本逐漸被開發者所接受並利用,但這並不是腳本流行起來的決定性因素,真正的原因還在於游戲市場有這方面的需求。

網路游戲時代的市場競爭激烈、變化莫測,如果延用單機時代一年半載才出一個新版本的開發方式,必然會被游戲行業激烈的市場競爭所淘汰。正是這種游戲市場需求旺盛和開發工具效率底下之間的矛盾,促使腳本語言迅速地發展起來。腳本的興起使得傳統編譯型語言(asngC/C )的性能優勢在硬體功效大幅攀升的今天已經不復存在。

除了市場和硬體這兩個因素之外,還有一點我們不能忽略。那就是用C/C 進行游戲開發的高成本和高項目風險。隨著java/.net逐漸流行,學習C/C 編程語言的人越來越少,而網路游戲市場的需求卻越來越龐大,在程序人才大量匱乏的情況下,造成了c,C 人才的高成本。即便是有能力僱傭大量C/C 程序員的公司,在開發游戲的過程中,也不能無視C/C 的高級特性和高度靈活性帶來的高項目風險。C/C 是易學難精的編程語言,在開發大型項目的時候由於程序員的水平參差不齊,所以極易造成溝通不暢。不僅如此,c,C 濫用的高級特性也容易引入大量bug。正是由於這些原因,游戲公司開始在游戲中使用腳本,希望通過腳本來解決這些高成本、高風險的問題。

二.腳本的現狀

腳本不僅解決了c/C 無法解決的開發效率難題,還降低了開發的成本和風險。因此腳本技術在游戲業內蓬勃發展起來,並且已經成為游戲業中不可或缺的一環。縱觀當前腳本技術現狀,形勢一片大好,不僅語言百家爭鳴,而且書籍種類也越來越多;不僅在游戲業界開花結果,在web等其它應用領域也大放異彩。

首先,我們來看看目前比較流行的腳本:Python、Lua、ruby和Erlang。Python和Lua是網路游戲開發的中堅力量;ruby憑借 rubyonrails的web開發框架的強勁力量,其在游戲業的發展前途亦不可小視;Erlang在高並發性上的原生優勢吸引了無數追求高性能網游伺服器的開發人員的目光。

其次,我們來看看書籍方面。大家都知道,文字對語言的普及起到了催化劑的作用,甚至可以看作是語言的有機組成部分。Python經過基金會的多年經營而得到NASA、Google重用的原因,就是由於其相關書籍種類比較豐富;Ruby隨著RoR的流行,這兩年行情看好,書籍也出版得越來越多了;Erlang是典型的少眾語言,但隨著多核時代的來臨和高並發網路應用的需求,Erlang有著光明的發展前景,現在<<ProgrammingErlang>>等書也已經在策劃出版了;反觀Lua,雖然目前越來越流行,但由於它晦澀的介面設計和缺乏大型應用的支持,使得相關書籍寥寥無幾。

最後,我們把焦點重新聚集到游戲開發行業中,其實不難發現,除了前文提到的《魔獸世界》和網易經典「西遊系列」使用了腳本外,現在大多數比較流行的程序也都使用了腳本,如騰訊的QQgame))和搜狐的《天龍八部》等。不僅如此,現今的游戲引擎也都提供了腳本介面,無論是商業的unreal引擎還是開源的 OGRE,無一例外。

三.腳本的優勢

腳本之所以能夠在游戲業中找到自己的一席之地,是因為網路游戲市場需要一個快速開發方案來避免C/C 開發帶來的項目高成本和高風險。那麼,腳本相對於C/C 這類編譯型語言到底有什麼優勢呢?

I易於學習,代碼可維護性強

腳本的語法通常都非常簡單,也沒有太多高階的特性,學習的門檻較C/C 低得多,比如Python可能只需要花一個下午即可學會。這使得游戲開發公司可以招聘完全沒有腳本、編程經驗的新手,通過低成本的培訓,他們便能迅速地走上工作崗位。除易於學習外,腳本代碼也有較強的可維護陛(盡管寫出沒有人看得懂的Lua代碼也非難事)。因為腳本沒有很多高階特性(如c 里的模板元編程就是高階特性),所以腳本程序員就有更多的精力去架構、模式、重用和測試等工作,從而提高了代碼的可維護性。相應地,正因為沒有那麼多讓人困惑的高階特性,也使得腳本代碼「簡潔」不少。

2.降低開發成本

如上所言,由於腳本易於學習,游戲開發公司可以大量起用新手,這正是降低成本的有效手段。那麼如何來確保新手所寫代碼的質量呢?眾所周知,新手無論用什麼語言寫程序肯定會出現bug,但用C/C 和Python做比較,可以看出,一個新手用C/c 編寫出的程序所出現的bug肯定會比用Python編寫出現的bug要多。由於c程序需要編譯,而腳本程序(大部分)都可以直接解釋執行,所以在排除 bug方面腳本也佔有一定的優勢,這也使腳本在降低成本的同時能夠更好地保證代碼質量。

3.形成人才壁壘

軟體開發行業是一個頗為動盪的行業,無數的程序員都在跳槽和謀劃跳槽的狀態中生活,使用腳本開發形成人才壁壘是游戲業減少人才流動的有效手段。因為現在腳本除了在游戲業中非常流行外,並沒有在其它行業形成廣泛應用(雖然在web開發方面也有燎原之勢,但終究不如在游戲業中的地位高)。這就使得游戲程序員很少會考慮非游戲行業的職位,但其它行業的程序員卻可能會因為腳本的易學習性而轉投游戲業。腳本除了能有效形成行業間的人才壁壘外,也能有效地形成企業間的人才壁壘。由於現有的腳本種類繁多,不同公司往往有不同的選擇,甚至有些公司使用自己開發的腳本語言,所以程序員從公司A跳槽到公司B可能要學習使用另一種腳本,這就提高了跳槽的成本,從而減少了人才的流動。

四.腳本的發展趨勢

依照目前趨勢來看,腳本語言一定會更加的普及,而且會逐漸滲透到其它行業中。隨著網路游戲從業人員數量的增長,腳本程序員也一直增加,而且Web2、0熱潮引起的網路需求,也促成了一批批新腳本程序員的誕生。網路游戲市場就像一個正在滾動的雪球,推動著腳本的普及。

隨著腳本在游戲業中越來越流行,市場對生產效率的需要也會相應提高。腳本雖然在一定程度上緩解了生產效率與生產工具之間的矛盾,但仍然不夠完善。由於市場競爭日趨激烈,而網路游戲在很多功能上的實現又都相差無幾,如網路、資料庫、圖形甚至部分邏輯,這必然會引起網路游戲生產的組裝化一一大量中間件相互組合形成新的網路游戲。從目前來看,Bigwofld、PhysX和Unreal等都是比較流行的網路游戲中間件。腳本語言則是粘合各個中間件的良好膠水語言,所以隨著網路游戲的生產組裝化,腳本將有更大的發展空間。

那麼,當腳本發展到如日中天的時候,可能取代C/C 這些編譯型語言嗎?筆者認為不會。腳本語言和編譯型語言在生產效率和執行效率上各擅勝場,網路游戲既需要能快速應變的腳本,也需要能快速執行以提供更絢麗游戲效果的編譯型語言。未來,它們之間一定會保持長久的和諧互補關系,相輔相成。

五.結語

綜上所述,網路游戲時代是上帝賜予腳本語言發展的絕好時機,腳本語言很快將迎來光芒四射的時代。腳本語言擁有編譯型語言無可比擬的生產效率優勢,所以它們將互補互助並肩奮戰在游戲的最前線。