最近朋友想用scala作web项目,我的研究了下,搭建了个scala的研发环境(ubuntu),网上资料不少不许确也比较老,在此作个备忘。html
最先是看的哪一个网页的忘记了,临时根据https://www.oschina.net/translate/tutorial-getting-started-scala-and-scalatra-part-i来配置下:java
scala的web框架很少,我也就知道Finatra,Play Framework,Scalatra,Spray,都不了解,随便选的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不适用