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

  • 相关阅读:
    Win8系统 Python安装
    一些安卓开源框架整理
    Android 媒体键监听以及模拟媒体键盘的实现 demo
    android View 自动 GONE 问题
    Android 定时器TimerTask 简单使用
    关于Android studio 相对 eclipse 优点
    Java序列化与反序列化
    android shape的使用 边框
    Android Studio 修改 包名 package name
    Android WebView Long Press长按保存图片到手机
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/8593408.html
Copyright © 2011-2022 走看看