zoukankan      html  css  js  c++  java
  • Scala语言简介和开发环境配置

    Scala语言的简介和开发环境搭建


     

    Scala是一门结合了面向对象特征和函数式编程特征的语言,它是一个创新的编程语言产品。Scala可以做脚本(就像shell脚本一样),可以做服务端编程语言,可以写数据处理程序等,在很多方面都适用,但是目前主要应用的领域有:编写Web服务器端程序、编写基于Spark的数据处理程序。能做的事情很多,可是被采用的领域不多。

    这里对Scala语言的基本情况做一个介绍,然后介绍一下如何搭建Scala的开发环境。

    以下是本文的提纲:

    1、Scala的简介
    
    2、Scala开发环境的配置
    
      2.1 命令行下配置Scala开发环境
    
      2.2 IDE下配置Scala开发环境
    
        2.2.1 Idea下配置Scala开发环境
    
        2.2.2 Eclipse下配置Scala开发环境
    

      

    1、Scala的简介

    ===============

    Scala是一门现代的编程语言,它包含了多个编程范式,集合了面向对象编程和函数式编程的优点。它具有如下几个鲜明的特点:

    首先,Scala支持面向对象编程。

    在Scala中,任何一个值都是对象,比如一个变量是一个对象,一个对象(Obejct,通过class new出来的对象)自不必说是对象,可是Scala中的函数也是一个对象。同时,Scala支持继承、多态、封装等面向对象特征。从这个意义来看,Scala确实是一门面向对象的编程语言。

    其次,Scala支持函数式编程。

    在Scala中,函数也是一个值。Scala支持匿名函数、高阶函数、嵌套函数(就是在一个函数的内部还可以定义函数,定义在函数内部的函数被称为嵌套函数)等。

    Scala还支持case class、pattern matching(模式匹配),以及单例对象(Singleton objects,类似于Java中的单例模式)。

    第三,Scala是静态类型的语言。

    第四、Scala是可以扩展的语言。

    在Scala中,可以通过为Scala增加库的方式来增加Scala的语言特性,从而形成一个DSL(Domain Specific Language领域特定语言)。

    最后,Scala可以和Java互操作。

    互操作的含义是:一种语言的程序可以顺利地调用其他语言写的程序(包括API、库等),那么就可以说这两种语言之间有互操作性。

    Scala是一门基于Java虚拟机的语言(类似的语言还有Groovy、Jruby等),所以在Scala中可以直接调用Java的标准库和第三方库,这样以来,用Scala写程序就可以直接复用Java中现有的很多优秀的程序库了,而不必再另外实现一套Scala的类似库。(我们在建设一个系统的时候,如果能复用,就尽量复用,把有限的精力放在少量的创新性的工作上。这也是为什么软件设计中特别在意直接复用的原因。当然如果是学习某一个程序库的设计原理,那么最好的办法就是自己先实现一下,然后去看看此程序库的代码)

    2、Scala开发环境的配置

    ====================

    我们可以在两种环境下开发Scala程序。一个是命令行下开发,另一个是使用IDE进行开发。下面分别介绍一下这两种不同情况下的Scala环境搭建。

    2.1 命令行下配置Scala开发环境

    ----------------------------------------------

    如果习惯于在命令行下做开发工作,比如Linux用户使用vim编写源程序,或者Windows的用户使用notepad++编写源程序,那么就可以使用Scala和Sbt(Scala build tool)来编译、测试、运行Scala程序。

    第一、确保操作系统中已经安装好了JDK。具体方法不介绍了。

    第二、安装Sbt。

    Sbt的安装方法很简单,只要从Scala的官方网站上下载到sbt的zip或tgz文件,然后解压即可。一般下载到的sbt安装包类似于sbt-1.1.1.tgz。

    把它解压到某一个目录下,比如Linux操作系统下可以解压到/usr/local下。

    tar -xzf sbt-1.1.1.tgz -C /usr/local/

    然后在/etc/profile中为sbt增加环境变量。

    export SBT_HOME=/usr/local/sbt-1.1.1

    export Path=SBT_HOME/bin:$PATH

    这样基于命令行的Scala开发环境就配置好了。

    第三,测试开发环境。

    1、mkdir hello-scala; cd hello-scala   #创建一个目录,并进入这个目录,这个目录是我们的工作目录

    2、sbt new scala/hello-world.g8 

    这里使用了一个sbt的项目模板hello-world.g8(sbt的项目模板都是以.g8结尾的),这个命令会从github中拉取hello-world.g8,然后按照hello-world.g8去创建一个项目。

    接下来hello-world.g8会提示用户输入项目名称,这里输入hello-scala,接下来sbt会自动完成项目创建。

    创建完成后的项目目录结果如下:

    |- hello-world
    
        |- project (sbt uses this to install, manage plugins and dependencies) 
    
              |- build.properties
    
        |- src
    
             |-main
    
                 |-scala (all of your scala code goes here)
    
                     |-Main.scala (Entry point of program) 
    
        |-build.sbt (sbt's build definition file)
    
    |- target
    

      

    3、运行这个项目。

    cd hello-world #进入hello-world项目的根目录。

    输入sbt命令,进入sbt的控制台中,输入run命令就可以运行项目了。

    sbt

    run

    这样就看到了项目的运行结果。

    项目运行之后,会在项目根目录下以及project目录下生成target目录,这是项目编译之后的输出结果文件夹,可以不用太在意。此刻项目的目录结构如下:

    |- hello-world
    
        |- project (sbt uses this to install, manage plugins and dependencies) 
    
              |- build.properties
    
              |- target   (sbt run之后生成的)
    
        |- src
    
              |-main
    
                  |-scala (all of your scala code goes here)
    
                      |-Main.scala (Entry point of program) 
    
        |- build.sbt (sbt's build definition file)
    
        |- target (sbt run之后生成的)
    
    |- target
    

      

    至此,我们就用sbt创建了一个项目,并且用sbt对其进行了编译和运行。以后修改了代码,或者为项目增加了新的代码,都可以按照这个流程编译、运行。

    4、为项目增加依赖包。

    为什么要介绍为项目增加依赖包呢?因为通常做一个软件的过程,可以看成一个调用标准库、第三方库的过程,大部分的项目都会不可避免地用到第三方的库,第三方库一般是以jar文件的形式存在的,为了在项目中使用它,就必须把要调用的库设置成项目的依赖库。因此,如果学会了如何为项目增加依赖,就相当于知道调用第三方库的方法,那么任何项目都可以做。

    打开项目目录下的build.sbt文件,在其中增加如下的代码:

    libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.0"

    这个依赖的添加和Maven中添加依赖的思路是一样的,描述依赖用了三个元素,groupId、artifactId、version,格式为:groupId %% artifactId % version。

    这就为项目增加了scala-parser-combinators这个库,这样在项目的scala源代码中就可以import scala-parser-combinators库中的class和object了。

    2.2 IDE下配置Scala开发环境

    ---------------------------------------

    目前常用的IDE有两个:Idea和eclipse,下面分别就这两个IDE配置Scala开发环境。

    2.2.1 Idea下配置Scala开发环境

    idea是scala官方推荐的IDE。在idea中配置Scala的开发环境,只需要安装Idea的scala插件即可。大多数时候,我们开发Scala程序都需要sbt的帮助,所以也需要安装sbt,不过,当安装了idea的scala插件之后,sbt也就自动安装上了,因此,其实我们要做的就是安装scala的插件。

    1、确认安装了JDK。

    因为Scala是JVM之上的语言,所以配置Scala的开发环境首先要确保操作系统中安装了JDK。另外,Idea其实本身就集成了一个JDK,这个JDK用来运行Idea本身,用Idea配置Java开发环境和Scala开发环境的时候,还需要另外安装一个独立的JDK。

    2、下载、安装Idea

    3、下载安装idea的scala插件

    File-》Setting-》Plugins,搜索框中输入scala,之后安装scala和scala import organizer两个插件。scala插件是开发scala必须的插件,它会安装scala的编译器、sbt等,scala import organizer插件是用来对scala代码中的import语句进行自动整理的。

    还有,另外一个插件scalafmt,是用来对scala代码进行格式化的,可以选择安装,按照自己个人的意愿。

    4、创建、运行普通Scala项目

    打开Idea,在Welcome窗口中Create new project->右边选Scala,左边选IDEA->填写项目名称,选择JDK,选择ScalaSDK->finish,这样项目就建好了。

    之后在project tool window的src目录上右击选择new scala class,在出来的对话框中填入类型,kind选择object,点击ok就新建一个scala的object。之后就可以往里输入代码,运行、测试了。

    这就是一个普通的scala项目的创建步骤。

    5、使用sbt(scala build tool)创建scala项目

    Sbt是scala build tool的简称,它是一个构建管理工具,是scala默认的构建管理工具,类似于Java领域的Maven。

    在idea中,只要安装了scala插件,那么sbt是自动也安装上了,所以创建sbt项目不需要额外安装其他东西,直接创建就好了。

    打开Idea,在Welcome窗口中Create new project->右边选Scala,左边选sbt->填写项目名称,选择JDK、sbt的版本、ScalaSDK->finish,这样项目就建好了。

    一个创建好的项目的目录结构如下所示:

    - .idea (IntelliJ files)
    
    - project (plugins and additional settings for sbt)
    
    - src (source files)
    
        - main (application code)
    
            - scala (scala source files)
    
        - test (unit tests)
    
           - scala (scala source files)
    
    - target  
    
    - build.sbt (build definition file for sbt)
    

      

    之后在src/main/scala下添加项目的代码。剩下的工作就是编译、运行了。运行之前要在run->edit configurations出现的对话框中新增一个run configuration,点击+之后选择sbt task,在name中输入configuration的名字,在task中输入run(运行本项目的任务)。

    最后,就可以运行了,运行的时候点击 run->run "run configuration name",就可以在底部出现的run tool window中看到运行的结果。

    2.2.2 Eclipse下配置Scala开发环境

    Eclipse下配置Scala的开发环境只需要安装eclipse的一个插件,名为Scala IDE for Eclipse。使用Scala IDE for Eclipse可以开发纯Scala的项目和Scala-Java的混合项目,它包含了一个Scala的调试器,支持scala的语法高亮等功能。

    Eclipse中安装Scala IDE的过程如下:help->Eclipse Marketplace,在出来的Eclipse Marketplace窗口中,在find字段中输入Scala,回车,在下方的框中选择ScalaIDE 4.7.x,点击Install,之后点击对话框底部的finish,关闭对话框。

    此时,ScalaIDE的安装进度在Eclipse的底部状态栏中有显示,当进度到100%的时候,重启Eclipse。

    参考资料

    1、http://docs.scala-lang.org/tour/tour-of-scala.html

    2、https://docs.scala-lang.org/getting-started.html

    3、https://docs.scala-lang.org/getting-started-intellij-track/building-a-scala-project-with-intellij-and-sbt.html

  • 相关阅读:
    HTML5与jQuery实现渐变绚丽网页图片效果【html5】
    javascript中对象的理解
    不用租服务器就可以做各种应用
    javascript dom 编程艺术[笔记]
    CSS那些事笔记(一入门)
    jQuery替换table中的内容——显示进度条
    html5 meta标签属性整理
    JavaScript 你好!
    在HTML中使用JavaScript需要注意的问题
    定时关机软件
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/8593408.html
Copyright © 2011-2022 走看看