gui.adoc 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. = gui
  2. :author:
  3. :revnumber:
  4. :revdate: 2016/03/17 20:48
  5. :relfileprefix: ../../../
  6. :imagesdir: ../../..
  7. ifdef::env-github,env-browser[:outfilesuffix: .adoc]
  8. == Atom's GUI
  9. In Atom framework, I choose NiftyGUI because its much more features, expandable, have active developing status, and good friendly supports.
  10. AtomGUI is the base of AtomEditor component (of Atom framework), which in turn provide easy editing support for game objects, configs and such, just like Swing does with Java's bean and Models, but in 3D with hardware accelarated.
  11. === Additions
  12. My additions for NiftyGUI:
  13. * Lightweight MVC
  14. ** Template framework
  15. ** a Groovy builder
  16. ** a +++<abbr title="Cascading Style Sheets">CSS</abbr>+++ (Cascaded Style Sheet) implementation (for NiftyGUI), even a LESS
  17. ** a simplier Localization framework
  18. ** GQuery stand for “JQuery in Groovy
  19. ** a lot of Groovy scripting and functional sugar for NiftyGUI
  20. === Ideas
  21. ==== JavaScript and Web world Ideas
  22. It's worthy to note that I come from the Web world, and I use JavaScript everyday beside of Java. That's why I always want “good things in JavaScript world show up in game dev world.
  23. Things such like Template, +++<abbr title="Cascading Style Sheets">CSS</abbr>+++, GQuery, … corporate tightly with JME3 systems but with a lot of additional gun and gears. Make Nifty and JME3 a real powerful monkey as it should!
  24. === Template and CSS
  25. Every Web framework come with a Template framework, facade and styles make the Web world colorful and attractive but +++<abbr title="HyperText Markup Language">HTML</abbr>+++ and +++<abbr title="Cascading Style Sheets">CSS</abbr>+++ is a blow-up standard!!!
  26. What we trying to do here is to make is compact and usable but with posibility to enhance and extend.
  27. There are some “good template framework in the Java and JavaScript world:
  28. - Mustache
  29. - StringBuilder
  30. - Veclocity
  31. Also worth to take a look is : LESS (the scriptable +++<abbr title="Cascading Style Sheets">CSS</abbr>+++)
  32. I see much powerful can be gained if we open this direction with the combination of : JME3 + Nifty + Groovy. That's why I experiment all this stuffs.
  33. === GQuery
  34. GQuery stand for “JQuery like in Groovy.
  35. JQuery is a famous framework in the JavaScript and Web world. GQuery try to provide some of its features, immtimate its syntax and sugars, leverage by Groovy:
  36. * Query, select a Node Tree (like +++<abbr title="HyperText Markup Language">HTML</abbr>+++, Nifty elements,…) with a minimal Path syntax , same as XPath
  37. * Hooks to Node's (components, elements..) events with Eventbus