scala在linux中配置开发环境

   最近朋友想用scala作web项目,我的研究了下,搭建了个scala的研发环境(ubuntu),网上资料不少不许确也比较老,在此作个备忘。html

最先是看的哪一个网页的忘记了,临时根据https://www.oschina.net/translate/tutorial-getting-started-scala-and-scalatra-part-i来配置下:java

scala的web框架很少,我也就知道FinatraPlay FrameworkScalatraSpray,都不了解,随便选的scalatra。mysql

1.安装sbtgit

没难度,直接参考官方文档,http://www.scala-sbt.org/0.13/docs/Installing-sbt-on-Linux.htmlgithub

2.安装scalatraweb

官方文档打不开,只有靠百度出来的了。。。sql

curl https://raw.github.com/n8han/conscript/master/setup.sh | sh
cs n8han/giter8

问题就出如今这了,在这以前须要安装其余的,可是真忘记了。。。根据错误提示+百度吧ubuntu

3.建立scalatra项目框架

g8 scalatra/scalatra-sbt

4.启动eclipse

./sbt

注意,好多写的是

container:start

实际上已经更新成jetty run了

实在是没有找到地方修改jetty的启动端口

5.IDE

我直接官网上下的eclipse版本,不过用了下感受问题很多,大部分状况不能正确import,须要手动去敲,因为scala可使用java的类库,因此代码提示那好多类和方法看着头疼,ide极度不完善,和记事本写差很少。

6.sbt的eclipse

须要再安装一个sbt的eclipse插件,来把刚才的scala项目生成eclipse相关文件,在eclipse中导入

7.依赖引入

和maven差很少,直接均可以查找到sbt的写法,加入sbt中便可

8.DB

没有找到啥原生的,我也就网上随便找了个jdbc链接写了个,注意别忘记引入mysql的依赖就行了

 

写在最后,scala用了半天的感觉:

1.IDE极度不完善

2.sbt不知道是否有maven里面mirror一类的概念,否则下国外的一大堆jar,我就hehe了

3.scala感受像是各类语言的柔和,oo和函数式的风格都支持,而后语法特别灵活,团队没有一个约定的话风格差别会很是大,不一样人会很难看懂

4.编译速度不敢认同,就一个hello world,4个类,编译了7秒,后面文件多了的话不敢想象

5.版本兼容,ide官网最新是2.11,sbt是2.12,而后才写了几个hello world就发现有的sbt能编译经过,ide里面报错,有的ide经过,sbt报错

6.说是无缝对接java,可是java都有了,为啥还要重复在scala里面从新造次轮子

7.过于灵活的,不一样人写出来的代码质量差别会很是大,以为只能小团队使用

8.效率,scala最后都是编译成class运行在jvm中,我不相信能有太大的差异

总结:没有深刻使用,也许某些特定状况和特定人群适用,web不适用

相关文章
相关标签/搜索