I have the task of preparing a tutorial of 30 minutes on Fantom, so clearly I will not be able to speak of everything... I would also like to not just do a tutorial with a bunch of slides, this are the features of Fantom, but use a minimal number of slides (perhaps 2 maximum, 1 at the beginning to introduce Fantom, and 1 at the end for links and resources)... The rest of the time, I think it will be more interesting to show real code using Fantom...
So I am wondering if you, guys, have any idea of a nice small application that can demonstrate core interesting features of Fantom when you come from a pure Java world:
Application can run on JVM, .NET and even on the browser by compiling it to javascript -> a quick
Methods as first class citizens
Metadata library is part of the language -> easy reflections...
Actors for concurrency
Any other idea?
A kind of search application seems to be a good fit -> little frontend to just enter a search term, json library to display results, inside the code, closures can be used to do search on a list of objects that holds the db of searchable items, ...
What are you thinking? Any other idea on a nice tutorial/demo application?
Thanks.
DanielFathThu 21 Jan 2010
Fan's API and tools seems to be its most obvious strength so play it (skimming over unfinished parts)
Maybe a small app that shows how to integrate JVM libs into fan. I would recommend Apache Tomcat but I don't think the Tradewinds is finished yet.
Uhh... would a simple paint program work? Like Paint (just Canvas, Scrollbar and a Brush) then show how it works on all three platforms.
One of it strong points is also unified testing and configuration. You could make some small examples of that.
brianThu 21 Jan 2010
I think if you want to demo JavaScript stuff that limits you to a FWT/UI sample application.
Maybe pull some piece of info from the web as XML/JSON and display it?
tacticsThu 21 Jan 2010
Note that concurrency for JS isn't implemented yet.
I remember one of the features that most impressed me was the serialization syntax. Being able to serialize FWT layouts into a plaintext file and reload them is just amazing. It beats the hell out of XML-based approaches.
katoxFri 22 Jan 2010
If your audience constists mostly of "java folks" then fantom serialization, some date/time manipulation, basic IO and fwt as js should produce a good warm feeling there.
lbertrandFri 22 Jan 2010
Thanks all for you replies...
That gave me this idea of demo that should cover most of the "nice" topics...
As pr Brian answer, I will create a client UI, that can be shown to be run in the browser (js) and as a standalone desktop application (fwt) that get stuff from a server... I will also create the server using fan that I can show running on JVM/.Net and implementation of it can show some actors usage...
Communications between the 2 can show nice serialization of direct Fantom classes, or JSON...
For the UI part, as suggested, I can also show that I can serialized it to disk, perhaps show that I can just load it from disk, modify it and launch it from the file again and demonstrate the changes on screen...
I think this is a good base to show most of the topics I want... Tooling with integrated build/test can be also shown in the process.
lbertrand Thu 21 Jan 2010
Everyone,
I have the task of preparing a tutorial of 30 minutes on Fantom, so clearly I will not be able to speak of everything... I would also like to not just do a tutorial with a bunch of slides, this are the features of Fantom, but use a minimal number of slides (perhaps 2 maximum, 1 at the beginning to introduce Fantom, and 1 at the end for links and resources)... The rest of the time, I think it will be more interesting to show real code using Fantom...
So I am wondering if you, guys, have any idea of a nice small application that can demonstrate core interesting features of Fantom when you come from a pure Java world:
A kind of search application seems to be a good fit -> little frontend to just enter a search term, json library to display results, inside the code, closures can be used to do search on a list of objects that holds the db of searchable items, ...
What are you thinking? Any other idea on a nice tutorial/demo application?
Thanks.
DanielFath Thu 21 Jan 2010
Fan's API and tools seems to be its most obvious strength so play it (skimming over unfinished parts)
brian Thu 21 Jan 2010
I think if you want to demo JavaScript stuff that limits you to a FWT/UI sample application.
Maybe pull some piece of info from the web as XML/JSON and display it?
tactics Thu 21 Jan 2010
Note that concurrency for JS isn't implemented yet.
I remember one of the features that most impressed me was the serialization syntax. Being able to serialize FWT layouts into a plaintext file and reload them is just amazing. It beats the hell out of XML-based approaches.
katox Fri 22 Jan 2010
If your audience constists mostly of "java folks" then fantom serialization, some date/time manipulation, basic IO and fwt as js should produce a good warm feeling there.
lbertrand Fri 22 Jan 2010
Thanks all for you replies...
That gave me this idea of demo that should cover most of the "nice" topics...
As pr Brian answer, I will create a client UI, that can be shown to be run in the browser (js) and as a standalone desktop application (fwt) that get stuff from a server... I will also create the server using fan that I can show running on JVM/.Net and implementation of it can show some actors usage...
Communications between the 2 can show nice serialization of direct Fantom classes, or JSON...
For the UI part, as suggested, I can also show that I can serialized it to disk, perhaps show that I can just load it from disk, modify it and launch it from the file again and demonstrate the changes on screen...
I think this is a good base to show most of the topics I want... Tooling with integrated build/test can be also shown in the process.