Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C++] port naar web app

Pagina: 1
Acties:

  • Mooneater
  • Registratie: Januari 2007
  • Laatst online: 30-10 13:05
excuses als ik desondanks op de verkeerde plaats gepost heb

In VS2010 heb ik in C++ een vrij simpel quiz-achtig programma geschreven, waarbij de gebruiker moet raden welke vissoort hij te zien krijgt:

Afbeeldingslocatie: http://img266.imageshack.us/img266/6610/gameie.jpg

Het programma selecteert een naam uit een lijst, navigeert naar een folder met dezelfde naam, en pakt uit die folder 1 random foto (foto's zijn van te voren door mij geselecteerd). De gebruiker typt de naam, en deze wordt vergeleken, zijn ze gelijk, dan is het antwoord correct. Heel eenvoudig.


Nu zou ik graag van dit programma een web-based versie maken, zodat het programma ook op macs gebruikt kan worden.

Zeker omdat het zo'n simpel programma is, leek me dat dat niet moeilijk zou moeten zijn, maar ik kom er niet helemaal uit. C# via WPF zou kunnen werken, maar xbap wordt niet goed ondersteund in browsers. Een alternatief is Qt + Wt, maar Wt + VS krijg ik hier niet aan de praat. Alternatief zou zijn de hele app te re-developen in Qt, of wellicht te kiezen voor een heel andere taal.
Maar welke taal? En welke IDE? (in notepad de hele layout inelkaar rammen zie ik niet zitten).

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 30-10 14:42
Wat is er op tegen om een cross-platform taal als Java te gebruiken? Dan kun je een hoop logica gewoon meenemen naar je Java applet toe.

Misschien ASP.Net, en dan de front-end met HTML/JS/CSS?

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 22:41
Wat is het precies wat je van ons wilt horen? Wil je een lijst met serverside talen die je kan gebruiken? Gezien dat je VS2010 al kent is C# met ASP.NET MVC misschien wel iets voor je? Ruby on rails of python Django zijn ook opties, net zoals PHP met een mvc framework. Een layout in elkaar "rammen" ontkom je niet aan: je kan niet een c++ applicatie naar een website porten zonder html/css/js te schrijven. Xbap heb ik zelf nog nooit van gehoord maar het klinkt als een browserplugin voor Windows. Volgens mij is WPF ook vooral een Windows tech en geen webspul?
Cor453 schreef op zondag 26 mei 2013 @ 15:22:
Wat is er op tegen om een cross-platform taal als Java te gebruiken? Dan kun je een hoop logica gewoon meenemen naar je Java applet toe.

Misschien ASP.Net, en dan de front-end met HTML/JS/CSS?
in deze tijd, dat iedereen Java uitzet en uninstalled vanwege de veiligheidsrisico's, ga jij Java applets aanraden?

[ Voor 27% gewijzigd door Ramon op 26-05-2013 15:48 ]

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • windwarrior
  • Registratie: Januari 2009
  • Laatst online: 12-07-2024

windwarrior

ʍıupʍɐɹɹıoɹ

offtopic:
GTK+/broadway, maar dat is echt een heel lelijke oplossing


Maar ik zou idd ook voor Javascript/HTML/css/{{je favo scripting taal}} gaan, deze applicatie is niet echt moeilijk te porten, middagje werk om dit ook daarin werkend te krijgen zijn.

  • Mooneater
  • Registratie: Januari 2007
  • Laatst online: 30-10 13:05
Aha!

Java ken ik verder niet, dus weet ik ook niet precies wat er mee mogelijk is, kan je in dat geval een Java object compilen en deze embedden? Of zijn er meer stappen nodig? (zal eens googlen)

JS/HTML/CSS heb ik alleen nog maar gebruikt voor een webpagina layout, ik zal eens kijken of dit soort dingen er ook mee mogelijk zijn.

  • windwarrior
  • Registratie: Januari 2009
  • Laatst online: 12-07-2024

windwarrior

ʍıupʍɐɹɹıoɹ

Mooneater schreef op zondag 26 mei 2013 @ 15:32:
Aha!

Java ken ik verder niet, dus weet ik ook niet precies wat er mee mogelijk is, kan je in dat geval een Java object compilen en deze embedden? Of zijn er meer stappen nodig? (zal eens googlen)

JS/HTML/CSS heb ik alleen nog maar gebruikt voor een webpagina layout, ik zal eens kijken of dit soort dingen er ook mee mogelijk zijn.
je _kan_ een java applet embedden op een webpagina, maar door de hoeveelheid beveiligingslekken in Java de laatste tijd disablen mensen de Java plugin, ik zou echt voor html/js/css gaan, Javascript is een taal die veel kan, dus ook serverrequests enzo, en met de juiste extenties (JQuery, CoffeeScript, ...) is er vrij aardig in te devven.

  • Mooneater
  • Registratie: Januari 2007
  • Laatst online: 30-10 13:05
windwarrior schreef op zondag 26 mei 2013 @ 15:38:
[...]


je _kan_ een java applet embedden op een webpagina, maar door de hoeveelheid beveiligingslekken in Java de laatste tijd disablen mensen de Java plugin, ik zou echt voor html/js/css gaan, Javascript is een taal die veel kan, dus ook serverrequests enzo, en met de juiste extenties (JQuery, CoffeeScript, ...) is er vrij aardig in te devven.
Okido, de buttons en layout doe ik dan met html/css, het verwerken van de input en checken of input correct is gaat dan via js?

Dat gaat wel even puzzelen worden, maar goed om te leren :D

Dank!

  • Cor453
  • Registratie: Mei 2011
  • Laatst online: 30-10 14:42
Ramon schreef op zondag 26 mei 2013 @ 15:22:

[...]

in deze tijd, dat iedereen Java uitzet en uninstalled vanwege de veiligheidsrisico's, ga jij Java applets aanraden?
Ik raad niks aan, ik geef de opties. Ik zou zelf een web-app achtig iets doen, maar java is gewoon nog steeds - zij het meer theoretisch dan vroeger - een optie.

  • Webgnome
  • Registratie: Maart 2001
  • Laatst online: 21:06
Cor453 schreef op zondag 26 mei 2013 @ 15:58:
[...]


Ik raad niks aan, ik geef de opties. Ik zou zelf een web-app achtig iets doen, maar java is gewoon nog steeds - zij het meer theoretisch dan vroeger - een optie.
Maar met applets aankomen is in deze tijd gewoon NOT DONE.. Een simpel php / javascript pagina werkt ook prima..

Strava | AP | IP | AW


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Het lijkt me vooral ook de vraag ook waar je dit gaat hosten. Qua cheapo hosting valt een php / javascript oplossing dan al snel aan te raden :p Overigens kun je ook prima een webapp hebben gebaseerd op bijv. apache+fastcgi+c++ als je het zelf ergens host.

Als ik zo kijk naar deze app, dan is het niet zo heel erg groot, dus ligt een rewrite voor de hand. IDE? Netbeans of wat je leuk vind ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • Elijan9
  • Registratie: Februari 2004
  • Laatst online: 20-11 15:32
Wt ontwikkelen in VS2010 gaat (bij mij) prima samen, tegen welk probleem loop je aan? De meeste moeite vond ik het bouwen van Wt zelf, maar Wt lijkt me in elk geval een prima keuze, zolang je niet commercieel gaat...

Je kunt voor Wt en/of Qt ook Qt Creator gebruiken als ontwikkelomgeving. Kijk eens naar: http://www.richelbilderbeek.nl/CppWt.htm

War is when the young and stupid are tricked by the old and bitter into killing each other. - Niko Bellic


  • Mooneater
  • Registratie: Januari 2007
  • Laatst online: 30-10 13:05
pedorus schreef op maandag 27 mei 2013 @ 11:55:
Het lijkt me vooral ook de vraag ook waar je dit gaat hosten. Qua cheapo hosting valt een php / javascript oplossing dan al snel aan te raden :p Overigens kun je ook prima een webapp hebben gebaseerd op bijv. apache+fastcgi+c++ als je het zelf ergens host.

Als ik zo kijk naar deze app, dan is het niet zo heel erg groot, dus ligt een rewrite voor de hand. IDE? Netbeans of wat je leuk vind ;)
Op mijn eigen website, de plaatjes moet ik nog even slim doorlinken vanaf google, dat scheelt heel wat bandbreedte denk ik...
Elijan9 schreef op maandag 27 mei 2013 @ 12:07:
Wt ontwikkelen in VS2010 gaat (bij mij) prima samen, tegen welk probleem loop je aan? De meeste moeite vond ik het bouwen van Wt zelf, maar Wt lijkt me in elk geval een prima keuze, zolang je niet commercieel gaat...

Je kunt voor Wt en/of Qt ook Qt Creator gebruiken als ontwikkelomgeving. Kijk eens naar: http://www.richelbilderbeek.nl/CppWt.htm
Het compilen van Wt ging bij mij in de soep, een DLL error, en gezeur over het niet kunnen vinden van Boost... Anders zou dit een mooie oplossing zijn. Dit wou ik inderdaad eerst doen (aan de hand van richel's site), maar aangezien het niet lukte ben ik eens rond gaan kijken. Qt zou ik me weer eens in moeten verdiepen, is naar ik mij kan herinneren niet de meest transparante manier van het opbouwen van GUI's...

Ben nu aan het rommelen in Javascript/HTML/CSS, erg leerzaam, maar gaat niet zo snel :)

Edit: Wt + VS2010 nog eens geprobeerd, kom nu iets verder, maar ik krijg allerhande toestanden in verband met mijn 64bits windows...

[ Voor 7% gewijzigd door Mooneater op 27-05-2013 20:36 ]


  • Ozzie
  • Registratie: Februari 2004
  • Laatst online: 20:54
Gewoon in Javascript schrijven het geheel. Je heb toch geen serverside componenten nodig? Tenzij je iets van highscores wil bijhouden ofzo.

"Write code as if the next maintainer is a vicious psychopath who knows where you live."


  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Neem een taal die veel gebruikt wordt en gebruik een taal ie voor is. Java en C++ zijn gewoon niet voor web. Neem JQuery daar is zoveel over te vinden daar moet je wel uitkomen. Als je server functionaliteit nodig hebt probeer wat met ASP.NET (MVC3/4) of PHP. MVC hosting is wat lastiger dan PHP hosting natuurlijk.

Je kan natuurlijk met exotische talen als Ruby aankomen maar de community is veel kleiner.

  • Mooneater
  • Registratie: Januari 2007
  • Laatst online: 30-10 13:05
Megamind schreef op dinsdag 28 mei 2013 @ 14:21:
Neem een taal die veel gebruikt wordt en gebruik een taal ie voor is. Java en C++ zijn gewoon niet voor web. Neem JQuery daar is zoveel over te vinden daar moet je wel uitkomen. Als je server functionaliteit nodig hebt probeer wat met ASP.NET (MVC3/4) of PHP. MVC hosting is wat lastiger dan PHP hosting natuurlijk.

Je kan natuurlijk met exotische talen als Ruby aankomen maar de community is veel kleiner.
Ik realizeer mij dit nu ook - heb ondertussen op een andere bak Wt + C++ aan de praat gekregen, maar de Wt GUI afhandeling ben ik nog totaal niet bekend mee... dan kan ik net zo goed javascript + JQuery etc leren :)

Tnx allen! :D

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Megamind schreef op dinsdag 28 mei 2013 @ 14:21:
Neem een taal die veel gebruikt wordt en gebruik een taal ie voor is. Java en C++ zijn gewoon niet voor web. Neem JQuery daar is zoveel over te vinden daar moet je wel uitkomen. Als je server functionaliteit nodig hebt probeer wat met ASP.NET (MVC3/4) of PHP. MVC hosting is wat lastiger dan PHP hosting natuurlijk.

Je kan natuurlijk met exotische talen als Ruby aankomen maar de community is veel kleiner.
Kwa server-side is een statement "Java is gewoon niet voor web" wel een beetje dom :)

https://niels.nu


  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

Net als jQuery een taal noemen :+

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Hydra schreef op dinsdag 28 mei 2013 @ 16:10:
[...]


Kwa server-side is een statement "Java is gewoon niet voor web" wel een beetje dom :)
Klopt zeker, maar je daarin verdiepen is imo een verloren zaak en een waste of time.
EddoH schreef op dinsdag 28 mei 2013 @ 16:27:
Net als jQuery een taal noemen :+
Jaja ik wilde nog JQuery/javascript schrijven maar tegenwoordig wordt alles mix & match :+

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Megamind schreef op dinsdag 28 mei 2013 @ 16:34:
[...]

Klopt zeker, maar je daarin verdiepen is imo een verloren zaak en een waste of time.
Want? Komend vanuit C++ maakt het weinig uit of je voor C# of Java gaat, kwa syntax lijkt het erg op C++. Daarnaast hebben zowel Java als C# prima web frameworks. En tenslotte kun je, als je iets simpels in Java wil maken, in no time een doodsimpele servlet maken die wat HTML uitspuugt.

https://niels.nu


  • Dars123
  • Registratie: Juni 2008
  • Laatst online: 23-11-2022
Niet echt relevant voor de huidige discussie, maar puur uit nieuwsgierigheid: welke tools heb je gebruikt voor de GUI en voor communicatie met het filesystem?

  • Mooneater
  • Registratie: Januari 2007
  • Laatst online: 30-10 13:05
Dars123 schreef op woensdag 29 mei 2013 @ 10:22:
Niet echt relevant voor de huidige discussie, maar puur uit nieuwsgierigheid: welke tools heb je gebruikt voor de GUI en voor communicatie met het filesystem?
Op het moment heb ik nog geen web-versie werkend, de huidige offline versie werkt volledig in C++, met de GUI via WindowsForms (alles gedaan in VS 2010)

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Er lopen volgens mij nu een aantal oplossingsrichtingen door elkaar (nog even los van de keus voor een bepaalde taal of een bepaald framework).

Volgens mij is de eerste keus die TS moet maken die tussen een web-based en een cross-platform desktopapplicatie. Vervolgens moet er dan gekozen worden voor een bepaalde taal en het al dan niet gebruiken van bepaalde frameworks.

Mij lijkt een web-app het fraaist en het makkelijkst voor de gebruiker. Vanwege de eenvoud van de interactie lijkt me dit ook goed haalbaar. Vervolgens is er dan de keus tussen client-side en server-side. Daarbij horen een aantal vragen die gerelateerd aan de centrale vraag: heb ik functionaliteit nodig die ik via een browser niet kan bieden? Bijvoorbeeld: wil ik zaken over browser-sessies/gebruikers heen bewaren (bijv. high-scores/ranglijsten/gegeven antwoorden)?

Je gaat zeer waarschijnlijk wel iets aan client-side functionaliteit nodig hebben, dus als er geen functionaliteit nodig is buiten de browser om, zou ik er voor kiezen om het allemaal lekker client-side op te lossen.

Client-side
Als je kiest voor client-side, heb je ruwweg drie opties voor interactieve content: Flash, Java applets en JavaScript. Van deze drie is eigenlijk alleen JavaScript aan te bevelen. Java applets zijn niet meer van deze tijd en de kans dat gebruikers de benodigde plug-in nog geinstalleerd hebben - danwel bereid zijn deze te installeren - is steeds kleiner aan het worden. Flash is nog redelijk gangbaar en meeste gebruikers zullen nog wel over een Flash-plugin beschikken, maar het is eigenlijk ook gewoon achterhaald. Op smartphones en tablets kun je er sowieso niks mee (misschien op oudere Android-versies nog). Als je Flash/ActionScript niet al kent, zou ik er niet meer in investeren om dit nog te gaan leren.

Server-side
Server-side zijn er ook grofweg drie keuzes: PHP, Java en .NET. Anders dan bij de client-side oplossingen zijn deze op zich alle drie wel aan te bevelen. PHP is zeer populair en beschikbaar bij de meeste hosters. Het staat wel beduidend verder af van de C++ kennis van TS, maar door de populariteit zijn er zeer veel tutorials (ook hele slechte, dus pas op!) voor te vinden. Dat geldt in iets mindere mate voor Java en .NET, maar ook daarvoor zijn zeer veel tutorials te vinden. Deze focussen echter vaker op een bepaald framework. .NET met C# sluit waarschijnlijk het meest aan bij de kennis en ervaring van TS (je kan gewoon VS blijven gebruiken, bijvoorbeeld). Maar als je je horizon wilt verbreden, kan ik Java ook van harte aanbevelen (ok, I'm biased - verdien al 15 jaar m'n brood met Java ;)).

Zoals gezegd: ik zou er voor kiezen om het client-side op te lossen. Dus met JavaScript/HTML/CSS. Aan de JavaScript-kant zou ik zeker overwegen om JQuery als framework te gebruiken. Het zal even inleren zijn, maar dat gaat je wel tijd besparen.

Een client-side oplossingen stelt ook het minste eisen aan je hosting-omgeving (losse files kunnen serveren is al voldoende, dus je zou dit zelfs vanuit iets als DropBox kunnen hosten).

[ Voor 9% gewijzigd door Herko_ter_Horst op 29-05-2013 15:28 ]

"Any sufficiently advanced technology is indistinguishable from magic."


  • Dars123
  • Registratie: Juni 2008
  • Laatst online: 23-11-2022
Op het moment heb ik nog geen web-versie werkend, de huidige offline versie werkt volledig in C++, met de GUI via WindowsForms (alles gedaan in VS 2010)
Aha, OK, bedankt voor de info, ik vond het er al als C++/CLI uitzien. Dat ligt wel heel dicht bij C#...lijkt me dat ook de meest voor de hand liggende richting.

  • Mooneater
  • Registratie: Januari 2007
  • Laatst online: 30-10 13:05
Herko_ter_Horst schreef op woensdag 29 mei 2013 @ 15:21:
Er lopen volgens mij nu een aantal oplossingsrichtingen door elkaar (nog even los van de keus voor een bepaalde taal of een bepaald framework).

Volgens mij is de eerste keus die TS moet maken die tussen een web-based en een cross-platform desktopapplicatie. Vervolgens moet er dan gekozen worden voor een bepaalde taal en het al dan niet gebruiken van bepaalde frameworks.

Mij lijkt een web-app het fraaist en het makkelijkst voor de gebruiker. Vanwege de eenvoud van de interactie lijkt me dit ook goed haalbaar. Vervolgens is er dan de keus tussen client-side en server-side. Daarbij horen een aantal vragen die gerelateerd aan de centrale vraag: heb ik functionaliteit nodig die ik via een browser niet kan bieden? Bijvoorbeeld: wil ik zaken over browser-sessies/gebruikers heen bewaren (bijv. high-scores/ranglijsten/gegeven antwoorden)?

Je gaat zeer waarschijnlijk wel iets aan client-side functionaliteit nodig hebben, dus als er geen functionaliteit nodig is buiten de browser om, zou ik er voor kiezen om het allemaal lekker client-side op te lossen.

Client-side
Als je kiest voor client-side, heb je ruwweg drie opties voor interactieve content: Flash, Java applets en JavaScript. Van deze drie is eigenlijk alleen JavaScript aan te bevelen. Java applets zijn niet meer van deze tijd en de kans dat gebruikers de benodigde plug-in nog geinstalleerd hebben - danwel bereid zijn deze te installeren - is steeds kleiner aan het worden. Flash is nog redelijk gangbaar en meeste gebruikers zullen nog wel over een Flash-plugin beschikken, maar het is eigenlijk ook gewoon achterhaald. Op smartphones en tablets kun je er sowieso niks mee (misschien op oudere Android-versies nog). Als je Flash/ActionScript niet al kent, zou ik er niet meer in investeren om dit nog te gaan leren.

Server-side
Server-side zijn er ook grofweg drie keuzes: PHP, Java en .NET. Anders dan bij de client-side oplossingen zijn deze op zich alle drie wel aan te bevelen. PHP is zeer populair en beschikbaar bij de meeste hosters. Het staat wel beduidend verder af van de C++ kennis van TS, maar door de populariteit zijn er zeer veel tutorials (ook hele slechte, dus pas op!) voor te vinden. Dat geldt in iets mindere mate voor Java en .NET, maar ook daarvoor zijn zeer veel tutorials te vinden. Deze focussen echter vaker op een bepaald framework. .NET met C# sluit waarschijnlijk het meest aan bij de kennis en ervaring van TS (je kan gewoon VS blijven gebruiken, bijvoorbeeld). Maar als je je horizon wilt verbreden, kan ik Java ook van harte aanbevelen (ok, I'm biased - verdien al 15 jaar m'n brood met Java ;)).

Zoals gezegd: ik zou er voor kiezen om het client-side op te lossen. Dus met JavaScript/HTML/CSS. Aan de JavaScript-kant zou ik zeker overwegen om JQuery als framework te gebruiken. Het zal even inleren zijn, maar dat gaat je wel tijd besparen.

Een client-side oplossingen stelt ook het minste eisen aan je hosting-omgeving (losse files kunnen serveren is al voldoende, dus je zou dit zelfs vanuit iets als DropBox kunnen hosten).
Dank voor het uitgebreide antwoord!
Client-side is denk ik wat ik nodig heb, high-scores en dergelijke gaan mij ver de pet te boven om dat te beheren, dat lijkt me niet wenselijk. Het enige dat ik "bijhoud" zijn de ingegeven antwoorden / huidige score.

Het is allemaal even puzzelen, het lastigste tot nu toe (in Javascript/CSS/Html) vind ik om de vragen te randomizeren - dwz, uit een lijst met soortennamen kies ik random 1 soort, hiervan laat ik het plaatje zien, en toon ik dit antwoord + 3 random (foute) antwoorden... Maar hier kom ik wel uit denk ik :)

De perks van het overstappen naar iets nieuws he 8)

Edit: Allemaal gelukt, plaatjes gehost op mijn dropbox, er zitten nog wat kleine schoonheidsfoutjes in, maar al met al erg fraai (code wel grotendeels gejat overigens):

http://www.thijsjanzen.nl/Quiz/quiz.html
Pagina: 1