Hello,
I am a 4th year Software Engineering student at MichiganTech and you may have seen me on the mailing list. I am very interesting in participating in the Google summer of code for Ceylon.
My credentials can be found here:
www.linkedin.com/pub/corbin-uselton/36/985/55a
http://careers.stackoverflow.com/corbinu
I primarily work on web dev and human computer interfaces so am looking for input and suggestions in regards to what I should work on.
In regards to the already proposed projects, the one that fits me best is “Improve Herd.” I have experience in HTML5, CSS3, Javascript, Java and REST. I could also transition from Play! 2 and MySQL to Play! 1 and PostgreSQL.
Ideas of my own are:
1. Improve Ceylon’s ability to run on Node.js IE:
A. Add “assert” command to dynamic blocks
B. Port Express into Ceylon (and fix anything in Ceylon needed to make this work) as a working example of a Ceylon app on node
C. Create a grunt script for building and packaging a Ceylon project that compiles to JS as an NPM package
2. Create basic Ceylon bindings for JavaFX for something not as entailed as ScalaFX but working in that direction
I am also curious about the expected number of hours per week as the Google Summer of Code does not state this.
--
You received this message because you are subscribed to the Google Groups "ceylon-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceylon-dev+...@googlegroups.com.
To post to this group, send email to ceylo...@googlegroups.com.
Visit this group at http://groups.google.com/group/ceylon-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
@Enrique thanks for your response sorry to hear your week is not going well and hope it gets better.
Another vote for FX kinda expected everybody likes that.
Thanks for your input on the Node stuff this actually really helps me clarify my proposal. First off I am retitling that proposal “Improved JS-VM Support”
Secondly I agree that the current focus will defiantly provide a correct framework for current web apps on the JVM and the benefit of the added bonus of having the code be compatible into the browser. This is an excellent use case which has already seen success in GWT and do not wish to draw away from the importance of this at all. To this end I would like to add your idea of Ceylon in the browser examples as an additional possibility under Improved JS-VM Support.
Now the reason I would like to do an Express port is not specifically to get Express working in Ceylon. As you rightly point out application use cases for existing JVM servers would be much better suited to staying on the JVM. My focus is on the new use cases that the JS-VM presents for Ceylon beyond what traditional Java can do. I really feel the reason JS-VM is becoming so important because it complements the JVM so well. A few examples where Ceylon might be better suited for the JS-VM:
Mobile App
The JVM can not be used on iOS, Firefox OS and Windows Phone. Ceylon codealso can not be run on Android as its JVM is Java 6 compatible only. How ever a PhoneGap or Appcelerator Titanium could easily be written in Ceylon compiled to JS
Embedded Devices
Where there is limited storage and memory the JS-VM can significantly better then the JVM for example when programming for a Rasberry Pi. On size alone Node clocks in at about 6MB once installed
Small Scale Servers
Although the JVM is a good solution for large scale web apps there are a significant about of developers (who currently mostly use PHP and Ruby) for whom the JVM is just to heavy. Ceylon could very much fill a need here as Node presents a new option for them, but JS is not very well suited to application architecture. To me this is the biggest opportunity for Ceylon on the JS-VM as web-developers and startups could build and deploy their web sites and mobile app backends in Ceylon on Node.js and then if they ever scale to the point where the JVM becomes a better solution. They simply drop their code on Undertow inside JBoss. Make a few changes and they are off and running. A perfect example of this is Twitter got started really fast and well because of how easy it was for them to build and deploy their system in Ruby, but then years later they ran into huge scaling problems so they have rebuilt most of their system in Scala. Image if instead they were building it today they could have gotten the same ease of build and quick to market using Ceylon on Node.js and then when they ran into the scaling issues switched to Undertow & JBoss.
Now as for what I would be trying to achieve with an Express port. First off my reason for selecting Express for two reasons. The first was that the httpd module for Ceylon provides similar features so this could be just a very early starting point for the httpd module compiling to both Java and JS. The second was purely because Express is so common.
“fixing anything in Ceylon need to make it work”
My point here was not to say make it work just for this case ... was more that this is a chance to take Ceylon “out for a test drive” on Node and the JS-VM. To see what kind of rough edges developers are going to run into and come up with best practices and best case language solutions sooner rather then later. A perfect example is how the lack of Lambdas in Java has lead to callback-functions being wrapped in inner classes. I’m sure there was a point long ago where somebody at Sun thought they were making the right call thinking Lambdas would add unnecessary complexity to the language. So what I mean by this is to bring the hard edges I find in porting a JS application into a Ceylon one so we can all ask “Is there something we can change in the Language or the workflow to address this?” and then have me implement said feature.
Sorry for how long this is you just really got me thinking which is good :)
Thanks!
Possible sub-items:
Possible sub-items:
So I am not really sure who I am supposed to be reporting to and how as it doesn't really say on the google or JBoss' summer of code pages ... could somebody drop me a line please ... there is a contact form on my website www.openswimsoftware.com
--
You received this message because you are subscribed to the Google Groups "ceylon-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceylon-dev+...@googlegroups.com.
To post to this group, send email to ceylo...@googlegroups.com.
Visit this group at http://groups.google.com/group/ceylon-dev.