|
Register or have you forgotten your password?
|
|
|
| Amiga OS -- Development This particular forum deals with issues regarding development for all versions of AmigaOS. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
|
#1 | ||||||||
|
Sockologist
![]()
|
I was thinking about something earlier today.
Imagine, if you will, a library compiled for OS4, MOS and AROS. This library abstracts the common MUI and Reaction (ie those of comparable functionality) classes behind a common interface. In addition it abstracts the event handling and other mechanims involved behind a simple, consistent API. A user of the libray can use its functions to open their windows, add gadgets, modify them, query them etc. I realise this isn't going to appeal to hardcore fans on either side of the GUI divide, but think of the advantage to the common middle ground programmer who wants to write applications quickly, without having to choose one over the other (MUI in particular is not everybodies cup of tea). So, what do you guys reckon? It's a worthwhile job for the open amiga team if you ask me :-)
__________________
OCA This isn't SCSI... This is SATA!!! I have CDO. It's like OCD except all the letters are in ascending order. The way they should be. Core2 Quad Q9450 2.66GHz / X48T / 4GB DDR3 / nVidia GTX275 / Linux x64, AROS, Win64 A1XE 800MHz / 512MB / Radeon 9200 / OS4.1 A1200T BPPC 240MHz / 256MB / Permedia 2 / OS 3.1 - OS3.9, OS4 A1200T Apollo 1240 28MHz / 32MB / Mediator1200 / Voodoo 3000 / OS3.9 A1200D Apollo 1240 25MHz (ejector seat ROM edition) / 32MB |
||||||||
|
|
|
|
|
#2 | ||||||||
|
Cult Member
![]()
|
Nice Avatar!
But it conflicts with your question? MOS? Yes, It would be nice! :-) -edit- doesn't look like that blue butterfly is giving up soon! :-P
__________________
[size=xx-small]GVP 060 @50 Pwr Twr [/size][size=xx-small]AMD_Amithlon_UAE[/size] |
||||||||
|
|
|
|
|
#3 | |||||||||
|
Sockologist
![]()
|
Quote:
Back on topic, I think the above idea has merit. I am aware of technical differences between MUI and Reaction in terms of threads etc (MUI does its gadget work in the context of the applications thread, whereas Reaction does so on the input.device thread), but a good abstraction layer should be able to cope with this.
__________________
OCA This isn't SCSI... This is SATA!!! I have CDO. It's like OCD except all the letters are in ascending order. The way they should be. Core2 Quad Q9450 2.66GHz / X48T / 4GB DDR3 / nVidia GTX275 / Linux x64, AROS, Win64 A1XE 800MHz / 512MB / Radeon 9200 / OS4.1 A1200T BPPC 240MHz / 256MB / Permedia 2 / OS 3.1 - OS3.9, OS4 A1200T Apollo 1240 28MHz / 32MB / Mediator1200 / Voodoo 3000 / OS3.9 A1200D Apollo 1240 25MHz (ejector seat ROM edition) / 32MB |
|||||||||
|
|
|
|
|
#4 | |||||||||
|
Master Sock Abuser
|
Quote:
This is less so...
__________________
My iPhone Game: Puny Humans - http://itunes.apple.com/gb/app/puny-...362230281?mt=8 |
|||||||||
|
|
|
|
|
#5 | ||||||||
|
Sockologist
![]()
|
Are you serious?
The avatar I made here wouldn't fit. It's still just a joke dude, check the tag line there. Big deal the dude with the chaincannon won the animation allowing me to squeeze it into 5k. So am I an anti-MOS troll now then?
__________________
OCA This isn't SCSI... This is SATA!!! I have CDO. It's like OCD except all the letters are in ascending order. The way they should be. Core2 Quad Q9450 2.66GHz / X48T / 4GB DDR3 / nVidia GTX275 / Linux x64, AROS, Win64 A1XE 800MHz / 512MB / Radeon 9200 / OS4.1 A1200T BPPC 240MHz / 256MB / Permedia 2 / OS 3.1 - OS3.9, OS4 A1200T Apollo 1240 28MHz / 32MB / Mediator1200 / Voodoo 3000 / OS3.9 A1200D Apollo 1240 25MHz (ejector seat ROM edition) / 32MB |
||||||||
|
|
|
|
|
#6 | |||||||||
|
Master Sock Abuser
|
Quote:
__________________
My iPhone Game: Puny Humans - http://itunes.apple.com/gb/app/puny-...362230281?mt=8 |
|||||||||
|
|
|
|
|
#7 | ||||||||
|
Guru Meditator
![]()
Join Date: Jun 2002
Posts: 5,744
|
That's what I've been talking/thinking about for a long time.
I think it's a great idea, and I honestly believe it can be done. It would be nice to have a kind of C++ touch to it, if you know what I mean! ;-) |
||||||||
|
|
|
|
|
#8 | |||||||||
|
Sockologist
![]()
|
Quote:
My take is to go for a normal shared library approach (OS4 version could use an Interface instead) and provide two headers. Specifically there could be a opengui.h for C abd opengui.hpp for C++. The latter could use some class wrappers and factory methods and such for people who prefer the paragdim. More than likely, a small stub link library might be required - ideally what we need to do is to prevent the opengui header (that is the user header) from having to include any mui or reaction stuff. Only the library source should do that. In other words, the abstraction would be total. Abstraction techniques are kind of my thing but unfortunately MUI and Reaction are not.
__________________
OCA This isn't SCSI... This is SATA!!! I have CDO. It's like OCD except all the letters are in ascending order. The way they should be. Core2 Quad Q9450 2.66GHz / X48T / 4GB DDR3 / nVidia GTX275 / Linux x64, AROS, Win64 A1XE 800MHz / 512MB / Radeon 9200 / OS4.1 A1200T BPPC 240MHz / 256MB / Permedia 2 / OS 3.1 - OS3.9, OS4 A1200T Apollo 1240 28MHz / 32MB / Mediator1200 / Voodoo 3000 / OS3.9 A1200D Apollo 1240 25MHz (ejector seat ROM edition) / 32MB |
|||||||||
|
|
|
|
|
#9 | ||||||||
|
Guru Meditator
![]()
Join Date: Jun 2002
Posts: 5,744
|
I'm okay with BOOPSI and Intuition(and GadTools I suppose), but I'm not so great with MUI.
I would absolutly love to see an abstraction library. It might be a set of files with one that includes them all(one ring to bind them all). :-) I think if we were to look at the similarities between the different systems we could map out which functions can be used in common between them. Data structures might need to be unique to this new gui thing. I imagine compareing two string gadget(as an example) classes, and looking for similar methods etc. and then writing new functions that will in turn call either of the MUI or ReAction functions. It might be a bit inefficient to begin with, but with faster machines in the futre it shouldn't matter too much. |
||||||||
|
|
|
|
|
#10 | |||||||||||
|
Sockologist
![]()
|
Quote:
Realistically we need to get the common buttons, menus, lists, scrollers, choosers and other gui elements under our umbrella. Support for more exotic classes (and for MUI this is quite a lot, I guess) is of lesser importance to the target audience. Quote:
Such things should, wherever possible, be hidden from the end user. What most people want are simple methods for opening windows, creating gadgets, binding them and suchlike. Our handles to said gadgets can be abstract (a pointer or whatever) that is given as an argument to our functions. A C++ version would simply use a wrapper class for this instead. Eg C interface OGWindow* guiWindow; guiWindow = OGWindow_Create( ... ); if (guiWindow!=NULL && OGWindow_Open(guiWindow) == TRUE) { /* stuff here */ } A C++ version could look a little different, depending on how OOP you want it to be... OGWindow* guiWindow; guiWindow = OGWindow::Create(..); // factory method if (guiWindow!=0 && guiWindow->Open() == TRUE) { // ... } Both versions would offer the same abilites, just differ in how they are presented to the programmer. Quote:
__________________
OCA This isn't SCSI... This is SATA!!! I have CDO. It's like OCD except all the letters are in ascending order. The way they should be. Core2 Quad Q9450 2.66GHz / X48T / 4GB DDR3 / nVidia GTX275 / Linux x64, AROS, Win64 A1XE 800MHz / 512MB / Radeon 9200 / OS4.1 A1200T BPPC 240MHz / 256MB / Permedia 2 / OS 3.1 - OS3.9, OS4 A1200T Apollo 1240 28MHz / 32MB / Mediator1200 / Voodoo 3000 / OS3.9 A1200D Apollo 1240 25MHz (ejector seat ROM edition) / 32MB |
|||||||||||
|
|
|
|
|
#11 | ||||||||
|
Master Sock Abuser
|
One idea bouncing around the AROS Team right now is to build a reaction wrapper for Zune (MUI)...
Thus, one would be able to run Reaction apps in Zune (MUI) :-)
__________________
My iPhone Game: Puny Humans - http://itunes.apple.com/gb/app/puny-...362230281?mt=8 |
||||||||
|
|
|
|
|
#12 | |||||||||
|
Resident blue troll
Join Date: Feb 2002
Posts: 3,871
|
Quote:
The 3rd-party-classes are one of the biggest arguments for MUI (and sometimes the biggest against it :-o ). Coding a "real" MUI-app without useing those, is next to impossible, unless you create your own classes inside your project, which would most likely break the compabilty with your ReAction-layer. MUI and ReAction are just to far apart for your idea to turn into reality(without adding lots of bloat). Better solutions: a) use MUI/Zune which is (will be) available for all 3 plattforms. b) write some headers that make porting between MUI and ReAction easier (but would still result in different exes). c) create a new GUI-lib useing only the 3.1 API (like that NewGUI,Triton, StormWizard, BGUI .....), and make it open-source.
__________________
1. Make an announcment. 2. Wait a while. 3. Check if it can actually be done. 4. Wait for someone else to do it. 5. Start working on it while giving out hillarious progress-reports. 6. Deny that you have ever announced it 7. Blame someone else |
|||||||||
|
|
|
|
|
#13 | ||||||||
|
VIP / Donor
Join Date: Mar 2003
Location: Boston, MA, United States
Posts: 4,989
|
I think this would be spectacular in building a bridge between the two camps.
Now if I only knew how to program... |
||||||||
|
|
|
|
|
#14 | |||||||||
|
Guru Meditator
![]()
Join Date: Jun 2002
Posts: 5,744
|
Quote:
And would you like me to recommend a good programming book? ;-) |
|||||||||
|
|
|
|
|
#15 | ||||||||
|
VIP / Donor
Join Date: Mar 2003
Location: Boston, MA, United States
Posts: 4,989
|
Doh! Yes, three.
*Kicks self* |
||||||||
|
|
|
![]() |
| Bookmarks |
| Tags |
| nice |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Nice to see one of my.. | Vlabguy1 | General chat about Amiga topics | 0 | 02-02-2007 09:31 PM |
| Nice car. What's it worth? | Oliver | CH / General | 5 | 12-19-2006 01:32 PM |
| This looks nice | Gav | Amiga Marketplace | 2 | 01-12-2006 12:04 PM |
| Nice OS4 site | HopperJF | General chat about Amiga topics | 6 | 11-23-2004 11:05 AM |
| a nice draco | paulvm | Amiga Marketplace | 4 | 07-14-2004 08:06 AM |