From: <fli...@go...> - 2011-11-29 01:07:02
|
Comment #6 on issue 396 by wonco...@gmail.com: REST/JSON/AJAX interface http://code.google.com/p/flightgear-bugs/issues/detail?id=396 Yes, I also really like the idea of providing a JSON/AJAX interface for the FG property tree. However, I am really not sure if that should be implemented in C++ space at all: The networking/protocol code in FlightGear is already fairly convoluted (just look at the generic protocol or the props/telnet stuff). I think, it would probably be much cleaner to simply expose the FGNasalSys interface ( http://gitorious.org/fg/flightgear/blobs/next/src/Scripting/NasalSys.cxx ) to the networking layer instead, that would make it possible to implement new interfaces in scripting space. It might even be worthwhile to look into reimplementing some of the existing stuff (e.g. props/telnet + httpd) in scripting space instead, because that would make the code much more maintainable and allow non C++ developers to easily add new networking features, no matter if it's a bunch of new "telnet commands" or completely new protocols implementing AJAX/JSON or a RESTful property<->URL mapping. Also, speaking from a purely syntactic point of view, Nasal's syntax seems close enough to ECMA/JavaScript to be basically JSON compliant already, so that'd seem like another natural opportunity actually? Finally, according to the Nasal core source code itself (in http://gitorious.org/fg/simgear/blobs/next/simgear/nasal/lex.c +184), JSON support seems to have been considered by the Nasal developer, too? |