Welke programmeer omgeving kiezen (Windows + ander OS)

Pagina: 1
Acties:
  • 448 views sinds 30-01-2008
  • Reageer

  • rs-music
  • Registratie: Mei 2002
  • Laatst online: 30-08-2025
Het probleem:
Bezig met systeem X en Y. X is een standaard windows PC en Y is ook een Standaard PC echter met touch screen.

Op Y moet ook een OS draaien, eis hieraan is dat deze voor de grote aantallen geen licentie kosten met zich mee mag brengen, dus wel eenmalig bijvoorbeeld tot 1500euro voor 1000 stuks Y, maar niet 1000 keer een bedrag van bijvoorbeeld 200 euro. Windows valt dus af, Redhat dacht ik ook? maar bijvoorbeeld Fedora Core 3 of QNX

Programmeer omgeving eisen voor systeem X:
- Eenvoudig creëren van een GUI
- Lezen en schrijven van bestanden
- Multimedia bibliotheek/componenten voor gebruik van video, audio, en geluid
- Netwerk bibliotheek/componenten

Programmeer omgeving eisen voor systeem Y:
- Eenvoudig creëren van een GUI
- Lezen en schrijven van bestanden
- Multimedia bibliotheek/componenten voor gebruik van video, audio, en geluid
- Netwerk bibliotheek/component
- COM poort bibliotheek/component voor RS232 communicatie

Een gedachte: op systeem X en Y moet ongeveer dezelfde soort software komen, het zou makkelijk zijn als dat met 1 software project gemaakt zou kunnen worden. :)


Mijn vraag: Welke OS zou ik het beste kunnen kiezen voor systeem Y en welke programmeer omgeving(en) zou ik moeten voor systeem X en Y?

Heb zelf al zitten denken aan:
- Java, dat op alle platforms zou moeten kunnen draaien, maar kan ik hiermee ook een COM poort aansturen?
- Borland C++ 6, zou uitwisselbaar moeten zijn met Kylix voor linux, maar via internet wordt het me niet echt duidelijk of het wel allemaal aan de eisen van X en Y voldoet
- Borland C++ builderX, maar deze ondersteunt geen grafisch omgeving, maar kan wel voor windows en linux compileren

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 18:00

Super_ik

haklust!

als je op systeem Y linux zet, welke distro dan ook. Het kan waarschijnlijk wel overweg met je touchscreen.
je kunt voor allebij in c++ schrijven, voor de gui kun je QT gebruiken. je moet alleen voor bijde systemen apart compilen, en opletten dat je geen specifieke windows api's gebruikt, anders kun je altijd nog wine gaan draaien :D

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Qt is de logische keus lijkt me. Ik weet dat Qt met touch screens werkt, maar eerlijk gezegd is dat triviaal.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Als programmeertaal kun je ook python gebruiken. Hierbij heb je een hele hoop mogelijkheden voor wat je als gui wilt gebruiken. (http://python.org/doc/faq/gui.html)

Verwijderd

Je zou volgens het beste Borland C++ BuilderX kunnen gebruiken. Kan je dus dezelfde code gebruiken voor windows en voor linux.
Zelf heb ik hier (nog) geen ervaring mee overigens....

[ Voor 6% gewijzigd door Verwijderd op 12-01-2005 11:46 ]


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Borland C++ Builder 6 kan standaard ook de Qt libraries gebruiken in de vorm van het CLX framework voor de GUI en er zijn ook componenten voor seriele poort toegang. Als je dan Kylix 3 er bij gebruikt kan je dezelfde code ook compilen onder Linux inclusief de GUI (CLX/Qt).

Voor Delphi geldt hetzelfde, alleen dan programmeer je in Pascal ipv C++.

C++ BuilderX heeft geen grafische designer zoals de bovenstaande, maar je kan de GUI wel in code maken met bijvoorbeeld Qt of wxWindows.

JBuilder verzorgt een grafische designer voor je java applicaties.

Je zou wellicht ook voor .Net kunnen gaan icm Mono voor Linux.

We adore chaos because we like to restore order - M.C. Escher


  • rs-music
  • Registratie: Mei 2002
  • Laatst online: 30-08-2025
LordLarry schreef op woensdag 12 januari 2005 @ 12:28:
Borland C++ Builder 6 kan standaard ook de Qt libraries gebruiken in de vorm van het CLX framework voor de GUI en er zijn ook componenten voor seriele poort toegang. Als je dan Kylix 3 er bij gebruikt kan je dezelfde code ook compilen onder Linux inclusief de GUI (CLX/Qt).
vragen:
Ik heb Borland C++ builder 6 trial (heb ervaring met 5) geinstalleerd, maar kan nergens settings vinden over CLX framework, moet ik hiervoor wat instellen, of moet ik gewoon geen windows functies gebruiken
JBuilder verzorgt een grafische designer voor je java applicaties.
Zou java geschikt zijn om alles mee uit te voeren, COM ondersteuning bijvoorbeeld? kan ik hieruit een nee concluderen?
[/quote]
Is java idd zo platform afhankelijk? Zou ik gewoon 1 applicatie kunnen maken en zowel onder
windows als linux kunnen draaien?
Je zou wellicht ook voor .Net kunnen gaan icm Mono voor Linux.
Heb ik geen ervaring mee, heeft .Net meer standaard componenten aan boord als bijvoorbeeld borland C++ 6?

Het belangrijkste is dat ik standaard componenten kan gebruiken, dus een compoort component toevoegen, wat setting goed zetten, zoals poortnummer, baudrate enz, en dan data sturen. Voor windows vind ik dat Borland al aardig wat kan. maar voor Linux heb ik nog niet ech een eenduidige applicatie gezien.

Ik geef overigens voorkeur aan twee apparte goede programma's dan dat ik allerlei functies toch voor beide systemen apart moet doen doordat ik bijvoorbeeld geen standaard windows functies kan gebruiken

Ik het QT eens bekeken onder redhat 9, maar Kvind dat er helemaal niet zo super veel standaard componeten inzetten, Kheb bijvoorbeeld gezocht naar een video component die ik kan toevoegen, maar niet gevonden, Wat ik zou willen is dat ik een component toevoeg voor video, in de code kan zeggen welk bestand hij moet gebruiken, en een start stop om het gewenste bestand af te spelen of te stoppen in mijn programma, hoe zou ik dat dan moeten doen? Zijn dit soort componenten te downloaden?

QT genereert overigens alleen maar wat code. Zijn er geen andere programma's onder linux, die net zou als bijvoorbeeld borland alles bevatten, grafisch iets, code in c++ files die gekoppeld zijn en eigen C++ code, compiler, debugger, enz?

QNX lijkt mij zelf ook wel wat als besturingssyteem (omdat het een vrij licht systeem is) alleen zal de touchscreen wel weer een probleem vormen. iemand anders ervaring met QNX, zou het de overige eisen wel aan kunnen?

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 18:00

Super_ik

haklust!

t klinkt alsof je liever in visual basic wilt programmeren, beetje klikken en slepen. :?

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

rs-music schreef op donderdag 13 januari 2005 @ 10:17:
vragen:
Ik heb Borland C++ builder 6 trial (heb ervaring met 5) geinstalleerd, maar kan nergens settings vinden over CLX framework, moet ik hiervoor wat instellen, of moet ik gewoon geen windows functies gebruiken
File -> New -> CLX Application. Dan krijg je vanzelf de keuze uit de andere componenten. En dan natuurlijk ook geen windows functies meer gebruiken. De compiler kan je daar ook voor waarschuwen.
Zou java geschikt zijn om alles mee uit te voeren, COM ondersteuning bijvoorbeeld? kan ik hieruit een nee concluderen?

Is java idd zo platform afhankelijk? Zou ik gewoon 1 applicatie kunnen maken en zowel onder
windows als linux kunnen draaien?
Ik ken Java niet goed genoeg om te weten of er ook (3rd party) ondersteuning is voor serial comm en video gedoe, maar ik verwacht van wel.

Java is platform onafhankelijk ja. In de praktijk zitten er soms nog wat kleine verschillen in waar je rekening mee moet houden. En al je extra libraries moeten natuurlijk ook op de andere platformen werken.
Heb ik geen ervaring mee, heeft .Net meer standaard componenten aan boord als bijvoorbeeld borland C++ 6?
Dat is een beetje een vreemde vraag als je wat van .Net af weet.
Het belangrijkste is dat ik standaard componenten kan gebruiken, dus een compoort component toevoegen, wat setting goed zetten, zoals poortnummer, baudrate enz, en dan data sturen. Voor windows vind ik dat Borland al aardig wat kan. maar voor Linux heb ik nog niet ech een eenduidige applicatie gezien.
Zoals Super_ik ook al opmerkt is programmeren meer als alleen componenten slepen en properties klikken. Niet alles wat je wilt is tegelijk standaard in een ontwikkelomgeving te vinden. Je zal dingen zelf moeten maken of plugins/componten/libraries van andere leveranciers moeten kopen.
QT genereert overigens alleen maar wat code. Zijn er geen andere programma's onder linux, die net zou als bijvoorbeeld borland alles bevatten, grafisch iets, code in c++ files die gekoppeld zijn en eigen C++ code, compiler, debugger, enz?
Qt is een library voor GUI componenten onder meerder platformen. Qt is geen compiler. De CLX componenten van Borland maken bijvoorbeeld gebruik van Qt. Zoals al eerder opgenoemd: Borland Kylix is een grafische C++ en Pascal IDE, compiler en debugger voor Linux. Ook Borland JBuilder is dat voor Java.

Ik denk dat je nu je zelf even moet verdiepen in de informatie die wij je gegeven hebben. Ga eens wat trials uitproberen, libraries zoeken, testen enz...

[ Voor 5% gewijzigd door LordLarry op 13-01-2005 11:04 ]

We adore chaos because we like to restore order - M.C. Escher


  • rs-music
  • Registratie: Mei 2002
  • Laatst online: 30-08-2025
LordLarry schreef op donderdag 13 januari 2005 @ 11:03:
File -> New -> CLX Application. Dan krijg je vanzelf de keuze uit de andere componenten. En dan natuurlijk ook geen windows functies meer gebruiken. De compiler kan je daar ook voor waarschuwen.
ga ik meteen proberen
Dat is een beetje een vreemde vraag als je wat van .Net af weet.
volgens mij zei ik juist dat ik er geen ervaring mee had ;)
Zoals Super_ik ook al opmerkt is programmeren meer als alleen componenten slepen en properties klikken. Niet alles wat je wilt is tegelijk standaard in een ontwikkelomgeving te vinden. Je zal dingen zelf moeten maken of plugins/componten/libraries van andere leveranciers moeten kopen.
Dat snap ik, maar ik ga natuurlijk niet zelf complete mpeg player schrijven, want dan is mn software voorlopig nog niet af


Verder ben ik nu idd druk bezig om allerlei dingen te proberen, maar je snapt wel dat dat best veel tijd kost, maar in ieder geval bedankt tot zover

Verwijderd

rs-music schreef op donderdag 13 januari 2005 @ 10:17:

vragen:
Ik heb Borland C++ builder 6 trial (heb ervaring met 5) geinstalleerd, maar kan nergens settings vinden over CLX framework, moet ik hiervoor wat instellen, of moet ik gewoon geen windows functies gebruiken
Niets, gewoon aangeven dat je een CLX applicatie wilt gebruiken. Maar echt 100% cross platform is het natuurlijk niet. Meestal moet je toch bepaalde windows/linux functies gebruiken voor speciale routines. Maar in dat geval kun je gebruik maken van compiler directives.
Zou java geschikt zijn om alles mee uit te voeren, COM ondersteuning bijvoorbeeld? kan ik hieruit een nee concluderen?

Is java idd zo platform afhankelijk? Zou ik gewoon 1 applicatie kunnen maken en zowel onder
windows als linux kunnen draaien?
Met java kan heel veel, ook com ondersteuning. Echter zoals bij alle programmeertalen, zodra je gebruik gaat maken van functies die platform afhankelijk zijn zul je die functies per platform moeten aanpassen. Het grote voordeel van java tov C++ is dat je als je geen gebruik maakt van platform specifieke zaken je niet hoeft te hercompileren en de code op alle platformen met een Java Virtual Machine werkt. Bij C++ moet je altijd hercompileren en meestal de code aanpassen per platform. Maar als je java code dus niet platform onafhankelijk is ben je dat voordeel kwijt. Wel is het natuurlijk zo dat Java veel meer OSen ondersteund dan bv Borland C++ en Kylix.
Heb ik geen ervaring mee, heeft .Net meer standaard componenten aan boord als bijvoorbeeld borland C++ 6?
Niet echt, maar het aantal zegt natuurlijk niet alles ook de kwaliteit is belangrijk maar het is vooral de vraag welke componenten je exact nodig hebt.
Het belangrijkste is dat ik standaard componenten kan gebruiken, dus een compoort component toevoegen, wat setting goed zetten, zoals poortnummer, baudrate enz, en dan data sturen. Voor windows vind ik dat Borland al aardig wat kan. maar voor Linux heb ik nog niet ech een eenduidige applicatie gezien.

Ik geef overigens voorkeur aan twee apparte goede programma's dan dat ik allerlei functies toch voor beide systemen apart moet doen doordat ik bijvoorbeeld geen standaard windows functies kan gebruiken
Via de CLX library kun je een hoop zaken standaard in beide programma's doen en via compiler directives de code voor elke doelomgeving aanpassen. Dat werkt zeker voor programma's waarbij 90% voor beide omgevingen hetzelfde is een stuk handiger dan alles dubbel gaan doen.
Ik het QT eens bekeken onder redhat 9, maar Kvind dat er helemaal niet zo super veel standaard componeten inzetten, Kheb bijvoorbeeld gezocht naar een video component die ik kan toevoegen, maar niet gevonden, Wat ik zou willen is dat ik een component toevoeg voor video, in de code kan zeggen welk bestand hij moet gebruiken, en een start stop om het gewenste bestand af te spelen of te stoppen in mijn programma, hoe zou ik dat dan moeten doen? Zijn dit soort componenten te downloaden?
Dit zit al standaard in de QT lib. Misschien is het handig om een goed boek over de QT libraries te kopen als je serieus QT overweegt.
QT genereert overigens alleen maar wat code. Zijn er geen andere programma's onder linux, die net zou als bijvoorbeeld borland alles bevatten, grafisch iets, code in c++ files die gekoppeld zijn en eigen C++ code, compiler, debugger, enz?
Volgens mij zijn er verschillende complete Java omgevingen voor linux. Denk aan bv JBuilder.
QNX lijkt mij zelf ook wel wat als besturingssyteem (omdat het een vrij licht systeem is) alleen zal de touchscreen wel weer een probleem vormen. iemand anders ervaring met QNX, zou het de overige eisen wel aan kunnen?
Een touchscreen is een kwestie van een driver. Dus kijk bij je touchscreen leverancier welke OSen ondersteund worden. Op zich zou QNX wel kunnen werken maar dan moet je wel andere tools gebruiken dan die je tot nu toe genoemd hebt. Maar voor een standaard kiosk applicatie die op een standaard PC gaat draaien weet ik niet of dat mijn keuze zou zijn. Je moet ook bekijken hoeveel de extra ontwikkeltijd je gaat kosten.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
rs-music schreef op donderdag 13 januari 2005 @ 10:17:[...]
Ik het QT eens bekeken onder redhat 9, maar Kvind dat er helemaal niet zo super veel standaard componeten inzetten
Dat is de FOSS versie, de Enterprise versie heeft meer componenten. Niet gratis, maar je betaalt per developer en niet later per uitgeleverd exemplaar. Je zit wel aan 2150 euro/developer. (Meer als je onder Windows wil ontwikkelen)

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

MSalters schreef op woensdag 12 januari 2005 @ 11:34:
Ik weet dat Qt met touch screens werkt, maar eerlijk gezegd is dat triviaal.
Erg triviaal, gezien het feit dat HID's niet op applicatieniveau zitten maar op OS niveau :) In het geval van Windows houdt dit in dat Windows bij een vingerdruk een WM_LBUTTONDOWN genereert, en bij 'vegen' netjes WM_MOUSEMOVE messages stuurt etc. Zelfde geldt voor Wacom's en dergelijken, het wordt gewoon naar het muisequivalent omgezet :)

Professionele website nodig?


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Qua programmeeromgeving zou ik denk ik voor Java gaan; je keuze voor het besturingssysteem wordt dan alleen beperkt tot de platformen waarvoor een Java Virtual Machine beschikbaar is.

Het nadeel van C / C++ i.c.m. een platform-onafhankelijke GUI-library zoals Qt is dat je toch altijd nog met een aantal OS-specifieke zaken blijft zitten waar je omheen moet zien te programmeren (denk aan sockets, threading e.d.). Daarnaast is het Java-platform erg uitgebreid - zo heb je de beschikking over allerhande handige libraries (regex, Remote Method Invocation, database-connecties, xml-parsers) die niet in standaard C/C++/STL zitten, en waarvan het altijd nog maar de vraag is of daar ook een platform-onafhankelijke variant van te vinden is.

Ik zag in de gauwigheid ook een standaard package voor seriele communicatie voor java (Java Communications, dus dat moet ook geen probleem zijn.

En mocht je echt omhoog zitten mbt een bepaald stuk functionaliteit die niet in java terug te vinden is, dan kan je deze altijd nog op een platform-specifieke manier schrijven (bijv. C++ / OS API-calls) en deze aan je java-applicatie hangen dmv de Java Native Interface (JNI).

  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op donderdag 13 januari 2005 @ 12:26:
Dit zit al standaard in de QT lib. Misschien is het handig om een goed boek over de QT libraries te kopen als je serieus QT overweegt.
'C++ GUI Programming with Qt 3' is gratis te downloaden.
MrBucket schreef op donderdag 13 januari 2005 @ 19:12:
Het nadeel van C / C++ i.c.m. een platform-onafhankelijke GUI-library zoals Qt is dat je toch altijd nog met een aantal OS-specifieke zaken blijft zitten waar je omheen moet zien te programmeren (denk aan sockets, threading e.d.). Daarnaast is het Java-platform erg uitgebreid - zo heb je de beschikking over allerhande handige libraries (regex, Remote Method Invocation, database-connecties, xml-parsers) die niet in standaard C/C++/STL zitten, en waarvan het altijd nog maar de vraag is of daar ook een platform-onafhankelijke variant van te vinden is.
Qt is meer dan alleen een GUI-library. Zo is er (platform-onafhankelijke) ondersteuning voor sockets, threads, regexpen, database-connecties en XML parsers.

"He took a duck in the face at two hundred and fifty knots."


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
_Squatt_ schreef op donderdag 13 januari 2005 @ 20:11:
[...]

Qt is meer dan alleen een GUI-library. Zo is er (platform-onafhankelijke) ondersteuning voor sockets, threads, regexpen, database-connecties en XML parsers.
Ah, ok, dat wist ik niet, ik kende het alleen als GUI-library idd.

Qt ziet er redelijk uitgebreid uit, alhoewel ik wel denk dat java toch nog een bredere API heeft. Maar ik zou de keuze dan af laten hangen van hoe goed jouw team bekend is met java of Qt / C++, welke GUI je het meeste aanstaat (Swing of die van Qt) en in hoeverre een implementatie in Qt / java onderhoudbaar en uitbreidbaar is door jouw bedrijf. En bekijk ook eens of de gewenste functionaliteit (bijv. qua multimedia) aanwezig is in Java of Qt.

Ik zou persoonlijk denk ik nog steeds voor java gaan vanwege zijn uitgebreidere API en omdat het een heel bekend platform is onder programmeurs, waarschijnlijk bekender dan de combinatie C++ / Qt. Maar goed, verder ben ik niet bekend met Qt, het ziet er iig wel goed uit :)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Kijk voor de lol ook naar Qt4, nu in beta. Qt had altijd al non-GUI functionaliteit, maar omdat er steeds meer programmeurs de non-GUI code standalone gebruikten is dat nu zelfs in een aparte lib beschikbaar (dat houdt je tooltjes klein)

Ik vraag me wel af of die PC "Y" dingen zware machines zijn. Als je een trage proc wil gebruiken met weinig geheugen (bijv Via EPIA met 32 of 64Mb) dan is Qt/embedded aanmerkelijk lichter dan J2SE, en uitgebreider dan J2ME.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1