前面寫了四篇 Scala Play Framework 開發(fā)教程,起了個頭,個人覺得 Scala 應(yīng)用會越來越廣泛,因此開通了 Scala 中文社區(qū)論壇以達(dá)到推廣 Scala 開發(fā)的目的。該論壇設(shè)立了 Scala 編程(包括 Slick,Akka 編程),Scala 開發(fā)工具( Scala IDE,IntelliJ IDEA 等),目前使用Scala最廣泛的應(yīng)用是開發(fā) Web 應(yīng)用,所有論壇列出了使用 Play Framework 開發(fā) Web 應(yīng)用的一些相關(guān)技術(shù)(HTML5, CSS3,Kendo UI/jQuery,JavaScript/CoffeeScript ,LESS 和R ESTFul Web服務(wù)),和常見的數(shù)據(jù)庫服務(wù)器(MySQL和SQL Server),以后可能還會添加一些相關(guān)平臺如(Scaladin,Android,Spring)。下面是目前論壇的主要板塊:
http://wiki.jikexueyuan.com/project/scala-development-guide/images/2.png" alt="" />
論壇新開通,目前還沒有太多的內(nèi)容,希望得到廣大對 Scala 有興趣的技術(shù)人員的支持,在今后的三年逐漸使得論壇成為 Scala 中文的主要技術(shù)論壇。
學(xué)習(xí) Scala 的最好的方法取決于你已有的編程知識,很多人覺得同時使用教程和編程實踐相結(jié)合的方法最有效,本教程將帶你走入 Scala 編程的旅程,同時希望你在看本教程的同時,通過嘗試輸入本教程的例子,使用 Scala 編譯器查看結(jié)果,以便能很快的掌握 Scala 編程。學(xué)習(xí)完 Scala 編程的基本知識后,我們再繼續(xù) Play Framework 開發(fā)教程和其它相關(guān)知識。
學(xué)習(xí)本教程,首先需要安裝好Scala運行環(huán)境,你可以使用命令行,Notepad,或者使用 Scala IDE 或是 IntelliJ,如果你不想安裝任何軟件,你可以通過在線 Scala 編譯器 Scalakata.com ,通過瀏覽器來練習(xí) Scala 編程。
最后我們以每個編程語言開發(fā)教程都會有的應(yīng)用 “Hello,World” 來結(jié)束本篇文章。
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
這段代碼對于Java程序員來說似承相識,它包含一個 main 方法,用來打印 “Hello,World” 這個問候語。 這段代碼,你可以使用命令行交互式執(zhí)行:
http://wiki.jikexueyuan.com/project/scala-development-guide/images/3.png" alt="" />
如果使用 ScalaKata.com 在線執(zhí)行:
http://wiki.jikexueyuan.com/project/scala-development-guide/images/4.png" alt="" />
如果你不想使用這種交換式運行方式,你可以使用任何文本編輯器或是使用 IDE 來運行 Scala 代碼。如果使用普通的編輯器,在把代碼保存為 HelloWorld.scala 之后,可以在命令行使用 scalac (和 javac 使用方法類似)來編譯 Scala 代碼。
scalac HelloWorld.scala
運行 Scala 應(yīng)用
scala HelloWorld
注意 scalac 編譯也是生產(chǎn) .class 文件(和 Java 一樣),因此你也可以通過 -d -cp 等選項指定生產(chǎn)的 class 的目錄和運行應(yīng)用時 class 的訪問目錄。
而使用 scala 來運行應(yīng)用時,無需再調(diào)用 HelloWorld.main(null).Scala 會自動執(zhí)行指定類的 main 方法,因此下面代碼為 HelloWorld.scala 的內(nèi)容:
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
你也可以把 Scala 代碼作為腳本語言來運行,比如使用下面代碼在 Ubuntu 些運行
#!/bin/sh
exec scala "$0" "$@"
!#
object HelloWorld extends App {
println("Hello, world!")
}
HelloWorld.main(null)
http://wiki.jikexueyuan.com/project/scala-development-guide/images/5.png" alt="" />