Aircraft Center: Difference between revisions

Jump to navigation Jump to search
3,900 bytes removed ,  10 January 2015
m
Line 56: Line 56:
   }}
   }}
}}
}}
== Motivation: The FlightGear Front-End Situation ==
{{Note|Also see [[FlightGear Sessions]] for the original article about this subject, this is currently being addressed via the [[Canvas]] system, see {{Issue|1295}}. }}
That in fact '''many''' users do feel a need to improve the current situation, can be seen by the multitude of GUI frontends that have been developed for FlightGear during the last couple of years.
{{FGCquote
  |There is currently heavy activity towards a new UI. There will be the HTML5 based version, I am currently working on and an internal implementation based on well supported libraries. Most likely, both will use a common service layer to provide necessary data.<br/>
Neither of those will use Nasal or Canvas to render the UI elements.<br/>
<br/>
Torsten
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=229303#p229303
    |title=<nowiki>Re: New Canvas GUI</nowiki>
    |author=<nowiki>Torsten</nowiki>
    |date=<nowiki>Thu Jan 08</nowiki>
  }}
}}
In fact, in 2006 there were reported to be at least five different GUI launchers available for FlightGear [http://sourceforge.net/forum/message.php?msg_id=3655762]:
* [[Fgrun]]
* KFreeFlight
* MacFlightGear
* FGTools
* [[JFlightWizard]] [http://sourceforge.net/projects/jflightwizard/]
* fgkicker
* [http://www.geocities.com/invent6620032003/FGWalk/index.html FGWalk] [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg21940.html]
* [http://forum.flightgear.org/viewtopic.php?f=6&t=6279 FGo!]
* [http://forum.flightgear.org/viewtopic.php?f=6&p=97639#p97639 FG Flier]
* [http://fgstartup.sourceforge.net/ FGStartup]
* [http://gitorious.org/fgx FGX]
* [http://forum.flightgear.org/viewtopic.php?f=21&t=24781#p226332 Temporary Yosemite Launcher] (added 12/2014)
* [https://gitorious.org/fg/flightgear/commit/f3810707d53f3c04769bbc214036ee9156bc3a7c#src/Main/main.cxx Integrated Qt5 launcher for Mac] (see above, adds Qt5 dependency)
* [[Canvas GUI]] (no added dependencies whatsoever)
All of which supporting different functionality/features, having different library/system dependencies and being different code bases, with little -if any- reuse of existing code, all of which serving however the very same purpose of providing: '''a GUI frontend for FlightGear'''.
Furthermore, plans to develop even more new frontends in addition to the plethora of existing ones are still being discussed [http://forum.flightgear.org/viewtopic.php?f=2&t=4890&p=36283#p36280].
As has been pointed out in the original discussion [http://sourceforge.net/forum/message.php?msg_id=3655762], this pattern is a not only a very unfortunate one, but also a recurring one - which is also likely to drain development resources from FlightGear itself - simply because a number of developers and potential contributors spend time developing redundant software that wouldn't need to be developed in the first place if the FlightGear design were to be fixed so that the key facilities provided by existing launchers would be directly supported by FlightGear itself.
While it was pointed out in one case that the reason for yet another FlightGear GUI frontend, was motivated by non-technical reasons (such as native/platform "look & feel"), all other remaining reasons for developing these launchers were indeed technical ones, meaning:
'''None of these standalone frontends would likely need to be in existence today if FlightGear itself featured a native, built-in GUI frontend'''
Indeed, FlightGear's cross-platform nature obviously provides additional challenges for developing standalone launchers, so that some launchers may only work on specific platforms.
So, the most natural thing to do would be to '''directly integrate these facilities into FlightGear''', where they can make use of extensive FlightGear APIs that are known to compile and work across all supported FlightGear platforms.


== Global Canvas GUI (WIP) ==
== Global Canvas GUI (WIP) ==

Navigation menu