Online Scala IDE Demo

62 views
Skip to first unread message

Dirk

unread,
Oct 17, 2011, 12:16:23 PM10/17/11
to lif...@googlegroups.com
Hi lifters,
I recently integrated cloud9ide's Javascript editor with the Scala Interactive Compiler to produce an online IDE demo (1 minute video):
http://vimeo.com/28930400
The video demonstrates auto-complete and real time error reporting on a Play framework sample project.
I'm curious to get the Lift community's reaction, given that the most likely user group would be scala web developers.
Cheers,
Dirk

Richard Dallaway

unread,
Oct 17, 2011, 12:27:15 PM10/17/11
to lif...@googlegroups.com
Wow.  So many possibilities; many challenges I'm sure too.  I love the concept.

--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

Chenguang He

unread,
Oct 17, 2011, 12:32:08 PM10/17/11
to lif...@googlegroups.com
Yes. A wonderful creation.

Chenguang He

Viktor Hedefalk

unread,
Oct 17, 2011, 12:44:25 PM10/17/11
to lif...@googlegroups.com
I think it looks frikkin' awesome!

Do you mind explaining a bit further what it actually does…? I mean
cloud9ide is editing the stuff directly online, right? But the Scala
presentation compiler must be running locally? Or is it running on the
server? I mean, it's kind of heavy, right?

Thanks,
Viktor

Dirk

unread,
Oct 17, 2011, 1:00:55 PM10/17/11
to lif...@googlegroups.com
The Ace editor (the editor created by Cloud 9) is all Javascript, so that runs on the client side. At present that means that in order to have compilation/auto-complete/etc you need to write a compiler for the target language in JavaScript.
Aside from the difficulty of writing the compiler, that also obviously puts a heavy load on the browser.

I extended Ace so that it can communicate with a server to get the compilation and auto-complete information (I also made an auto-complete widget). So it sends the changes that the user is making to the server in real time. On the server side it uses the scala.tools.nsc.interactive package of the Scala compiler to do compilation and auto-complete.

I also integrated the Eclipse compiler so that it will compile and report errors for Java projects. I would like to integrate auto-complete for Java as well, but the Eclipse auto-complete engine is tightly coupled with the Eclipse package and workspace structures, so I think it would need to be heavily rewritten.

Dirk McCormick

unread,
Oct 17, 2011, 12:59:10 PM10/17/11
to lif...@googlegroups.com
The Ace editor (the editor created by Cloud 9) is all Javascript, so that runs on the client side. At present that means that in order to have compilation/auto-complete/etc you need to write a compiler for the target language in JavaScript.
Aside from the difficulty of writing the compiler, that also obviously puts a heavy load on the browser.

I extended Ace so that it can communicate with a server to get the compilation and auto-complete information (I also made an auto-complete widget). So it sends the changes that the user is making to the server in real time. On the server side it uses the scala.tools.nsc.interactive package of the Scala compiler to do compilation and auto-complete.

I also integrated the Eclipse compiler so that it will compile and report errors for Java projects. I would like to integrate auto-complete for Java as well, but the Eclipse auto-complete engine is tightly coupled with the Eclipse package and workspace structures, so I think it would need to be heavily rewritten.


On Mon, Oct 17, 2011 at 1:44 PM, Viktor Hedefalk <hede...@gmail.com> wrote:

Dirk

unread,
Oct 17, 2011, 1:06:11 PM10/17/11
to lif...@googlegroups.com
Just to be clear - the idea is that the heavy work gets done by a server in the cloud, so you don't need to have an IDE chewing up memory on your laptop.
Reply all
Reply to author
Forward
0 new messages