Toon posts:

Modern equivalent van Visual Basic voor simpele GUI apps

Pagina: 1
Acties:

Vraag


  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 27-01 19:54
Hey,

vroeger maakte ik kleine applicaties voor mezelf in Visual Basic.
Ja, geen schaalbare GUI en zo, maar het werkte wel voor mij en was snel in mekaar gestoken.

Eigenlijk ben ik al 20 jaar aan het zoeken naar een modern equivalent.
VB.NET werkt misschien ook wel, heb het niet geprobeerd, maar ik heb weinig vertrouwen in de GUI toolkits die Microsoft om de 5 jaar op de markt gooit en dan later weer vergeet. Dus weinig zin om daar tijd in te investeren.

Liefst iets:
- voor een eenvoudige taal: Python, Groovy of zo
- cross-platform
- en vooral snel en eenvoudig in development tijd

Ik kan programmeren in Java, Python, Scala, C# (even geleden), beetje Kotlin en Groovy.

Dingen als Tk of Kivy lijken me een beetje beperkt of omslachtig.
Qt interesseert me wel, maar lijkt me te groot voor mijn doeleinden en steilere leercurve.
Geen zin om Javascript te leren om een web framework te leren om een Electron app te maken. Simpel programma moet geen mastodont van 100MB worden.

Vind het eigenlijk triestig dat we 25 jaar na VB (1997 zegt), nog altijd niet veel verder staan qua snel GUI's in mekaar flansen. Zeker als je bekijkt waar we 25 jaar daarvoor stonden in 1972.

Maar ik hoor het graag als iemand een goeie toolkit weet.

[Voor 6% gewijzigd door Chris_147 op 08-02-2022 17:30]

Alle reacties


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

.NET Core 3 ondersteunt WinForms met de bijbehorende designer om forms, frames, tabs, textboxes, buttons en alle andere standaard controls te kunnen drag&droppen.

Edit: oh, cross-platform. Dan is er Multiplatform App UI (MAUI), maar dat kunnen ze in theorie dit jaar nog laten vallen.

[Voor 40% gewijzigd door CodeCaster op 08-02-2022 17:48]

I have these thoughts / so often I ought / to replace that slot / with what I once bought / 'cause somebody stole my car radio / and now I just sit in silence


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
De meeste moderne tools om snel interfaces te maken zonder zelf veel code te schrijven zijn gebaseerd op web technologie. Er zijn legio low/no code oplossingen.

Je kunt kijken naar dingen als PowerApps van Microsoft.

[Voor 8% gewijzigd door Woy op 08-02-2022 22:05]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 27-01 19:54
Bedankt voor de antwoorden. Vrij MS centrisch, wat ik niet zo ben. Ik gebruik Windows en Office 365, maar wil geen lock-in.

PowerApps: hmm, ik moet al direct een werk email adres ingeven. Met een gmail adres geraak ik er niet in.
Geeft al aan dat ik niet het doelpubliek ben.

Eerlijk gezegd ben ik niet meer zo voor Microsoft hosted dingen. Wat als ze (weer eens) interesse verliezen of een nieuw framework introduceren dat dit (halfslachtig) gaat vervangen?

EDIT: toch eens proberen te registreren voor PowerApps met mijn eigen email door aan te geven dat deze een werk email is. Dan kon ik verder gaan, gegevens invullen, SMS verificatie code invullen, gegevens invullen en nogmaals SMS verificatie code invullen. Maar welke? dezelfde, komt er boodschap dat deze niet geldig is, 'resend new code', krijg ik geen code aan. Toch op next geklikt, en tata: al 2 minuten spinning circle. Vrij triestig...

[Voor 32% gewijzigd door Chris_147 op 09-02-2022 09:20]


  • Sefyu
  • Registratie: November 2006
  • Laatst online: 17:28
Python met iets als PyQt een optie?

  • Spoider
  • Registratie: Februari 2018
  • Laatst online: 12:54
Ik ben niet bekend met GUIs maken in Python of Groovy. In C# kan je WPF of UWP gebruiken, deze zijn redelijk simpel om op te pakken. Java raad ik niet aan voor desktop GUIs, de beschikbare frameworks zijn verouderd.

Helaas is tegenwoordig de standaard om webapplicaties te maken als je een GUI nodig hebt.

  • 107mb
  • Registratie: Juni 2004
  • Laatst online: 22:07
* zeg dan niks als je niks toe te voegen hebt *

[Voor 87% gewijzigd door Creepy op 09-02-2022 09:28]


  • peterhhh
  • Registratie: Januari 2018
  • Laatst online: 22-01 20:05
Flutter?

  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 27-01 19:54
Sefyu schreef op woensdag 9 februari 2022 @ 09:20:
Python met iets als PyQt een optie?
Daar heb ik vroeger naar gekeken, misschien is het ondertussen verbeterd, maar wat me toen opviel:
- onzekerheid naar de ondersteuning in de toekomst toe, maar het bestaat nog steeds, dus zal geen probleem zijn
- veel kennis van Qt nodig, dus steile leercurve voor een simpele applicatie

Ik ga het echter nogmaals bekijken aan de hand van deze tutorial: https://realpython.com/qt...dialogs-in-an-application

  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 27-01 19:54
Bedankt, ziet er interessant uit.
Zelf ervaringen mee?
Python+Qt lijkt me aan de ene kant meer geschikt om mijn eigen 'itch' te scratchen (Windows of Linux desktop apps), maar Flutter lijkt meer ondersteund en kan ik mogelijk ook voor werkgerelateerde problemen gebruiken.

  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 27-01 19:54
Spoider schreef op woensdag 9 februari 2022 @ 09:23:
Ik ben niet bekend met GUIs maken in Python of Groovy. In C# kan je WPF of UWP gebruiken, deze zijn redelijk simpel om op te pakken. Java raad ik niet aan voor desktop GUIs, de beschikbare frameworks zijn verouderd.

Helaas is tegenwoordig de standaard om webapplicaties te maken als je een GUI nodig hebt.
Mijn probleem met Microsoft GUI toolkits is dat ze om de 5 jaar lijken te heroriënteren: Silverlight, WPF, WinForms, UWP, MAUI, Win UI, Blazor, Project Reunion. En van allemaal hoor je tegelijkertijd dat ze uitgefaseerd worden en dat ze nog super levendig zijn. Ik weet het gewoon niet zo goed meer van Microsoft en GUIs.
Zie ook: https://visualstudiomagaz.../02/03/net-6-desktop.aspx

[Voor 5% gewijzigd door Chris_147 op 09-02-2022 09:45]


  • Spoider
  • Registratie: Februari 2018
  • Laatst online: 12:54
Het is waar dat Microsoft vaak GUI frameworks uitbrengt, maar dat betekent zeker niet dat je ze allemaal moet gebruiken. Je kan bijvoorbeeld prima nog de oude WinForms gebruiken, daar kan je nog steeds bijna alles mee.

Trouwens, tegenwoordig zal je ook Flutter kunnen gebruiken voor Windows applicaties: nieuws: Googles ontwikkelplatform Flutter krijgt ondersteuning voor Windows-a...

Uit nieuwsgierigheid, wat voor problemen wil je oplossen met je programmaatjes? Is een web-applicatie misschien geen goede oplossing? JavaScript is misschien niet je favoriete taal, maar tegenwoordig kan je toch wel echt mooie dingen maken met bv React en TypeScript en bv een Java back-end. Natuurlijk is dat wel weer een nieuwe framework en taal die je moet leren, en als je daar geen zin in hebt dan houdt het snel op. Web-applicaties zijn toch wel echt de 'standaard' tegenwoordig, en ik gok dat dit nog een aantal jaren zo zal blijven.

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Er is natuurlijk nog steeds het aloude Delphi maar ik kan je niet vertellen wat de huidige staat daarvan is aangezien ik niemand meer ken die het nog gebruikt.

  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 27-01 19:54
Dingen die ik wil maken, kunnen vanalles zijn.
Een simpele loader om andere Doom levels te laden en dan Doom op te starten.
Misschien dingen processen en emailen of zo.
Mogelijks wil ik dit ook gebruiken om een flow voor mijn werk te automatiseren en Office documenten te genereren.

  • peterhhh
  • Registratie: Januari 2018
  • Laatst online: 22-01 20:05
Chris_147 schreef op woensdag 9 februari 2022 @ 09:35:
[...]

Bedankt, ziet er interessant uit.
Zelf ervaringen mee?
Python+Qt lijkt me aan de ene kant meer geschikt om mijn eigen 'itch' te scratchen (Windows of Linux desktop apps), maar Flutter lijkt meer ondersteund en kan ik mogelijk ook voor werkgerelateerde problemen gebruiken.
Yes. Maar dan op gebied van mobiele apps. Maar steeds betere ondersteuning voor desktop ook. Geloof dat bijv. Ubuntu zelf er al gebruik van maakt: nieuws: Ubuntu krijgt nieuwe installer gemaakt met Google Flutter

De taal (dart) en het framework zelf bevallen mij uitstekend in elk geval.

  • Dankoozy
  • Registratie: Februari 2022
  • Laatst online: 27-09-2022
Gambas (https://en.wikipedia.org/wiki/Gambas)

Ik heb het een hele tijd niet gebruikt maar het word nog steeds bijgehouden.

Glade (
https://glade.gnome.org/) lijkt ook een beetje op VB behalve dat de UI automatisch schaalbaar gemaakt word

  • Sefyu
  • Registratie: November 2006
  • Laatst online: 17:28
peterhhh schreef op woensdag 9 februari 2022 @ 20:50:
[...]

Yes. Maar dan op gebied van mobiele apps. Maar steeds betere ondersteuning voor desktop ook. Geloof dat bijv. Ubuntu zelf er al gebruik van maakt: nieuws: Ubuntu krijgt nieuwe installer gemaakt met Google Flutter

De taal (dart) en het framework zelf bevallen mij uitstekend in elk geval.
De kans dat iets van Google abandonware wordt is natuurlijk wel 10x groter dan bij Microsoft, daar zou ik echt mee oppassen.

  • Immutable
  • Registratie: April 2019
  • Laatst online: 30-01 17:43
- Makkelijk te leren talen met super veel beginners resources:
Antwoord: Python.
Verdere redenen: Gigantisch veel bibliotheken die van alles kunnen dus ook allemaal documenten genereren, data inlezen. Api's noem het maar op. Het is er.

- Cross platform GUI welke makkelijk is en makkelijk aan te passen is:
Antwoord: Iets met HTML/CSS is simpel te leren. Dus : pywebview https://pywebview.flowrl.com/
(Of wil je iets met drag & drop en zo de gui te maken?)
Dan zeg ik PyQt5 designer. https://realpython.com/qt-designer-python/

Of QtQuick, meer gui voor touch enzo. Ook te gebruiken met Python: https://doc.qt.io/qtforpy...mlapp/qmlapplication.html (Vergelijkbaar met C# + WPF)
De GUI kan je zowel programmeren in een declaratieve taal genaamd QML(heel simpel), als via een drag & drop designer.
Ooit eens in een Tesla gezeten? De gui daarvan is gemaakt in Qt/QtQuick. Dan weet je ook hoe krachtig dit is. Maar PyQt5 is meer voor desktop applicaties zeg maar.

Las dat je je zorgen maakt voor ondersteuning van Qt, geloof me Qt is springlevend. Anders bekijk eens hun website: www.qt.io wedden dat je overal om je heen Qt tegenkomt? Zonder dat je het weet... koelkasten, magnetrons, pinautomaten, allerlei apparaten met touchscreens. Koffiezet automaten, tv media boxen, TV gui's echt alles. Jij komt dagelijks heel veel Qt tegen. En dat moet allemaal ondersteund blijven.

Ik snap je punt verder wel. Vroeger veranderde de GUI wereld veel minder, en kon je veel meer tooling eromheen bouwen zoals een complete editor. Dit wordt tegenwoordig niet echt veel meer gedaan. Als je dat wil zit je toch denk ik echt vast aan Windows met C# o.i.d. met WPF . De enige die daarbij compleet in de buurt komt voor crossplatform is toch Python met QT en de daarbij behorende editors voor GUI.

Voor windows download je gewoon Visual Studio en begin je gewoon een applicatie te maken met C#:
https://docs.microsoft.co...tutorial-wpf?view=vs-2022
Super makkelijk, en komt het dichtst in de buurt van wat je gewend was.
Als crossplatform niet belangrijk, of minder belangrijk is zou ik voor dit gaan.
(En dat zeg ik, iemand die walgt van C# en microsoft producten, moet ik even eerlijk toegeven)

En omdat je Visual Basic gewend bent, waarom combineer je dat niet met WPF?:
https://docs.microsoft.co...tutorial-wpf?view=vs-2022
(Na deze stap -> Makkelijk over te stappen naar C# met WPF)

Hier gewoon visual studio gratis te downloaden: https://visualstudio.microsoft.com/vs/community/

(Sorry voor mijn lange post, ik probeer gewoon opties te geven. Misschien zit er wat bij. :) )

[Voor 81% gewijzigd door Immutable op 13-02-2022 13:06]


  • WernerL
  • Registratie: December 2006
  • Laatst online: 21:49
Ik zie dat QT al een aantal keer vermeld wordt. Maar naast QT is er ook nog een ander populair cross-platform GUI framework: GTK. En er zijn bindings voor python.

https://python-gtk-3-tutorial.readthedocs.io/en/latest/
GUIs kun je in elkaar klikken met bijvoorbeeld Glade: https://glade.gnome.org/
Dat levert een XML file op die je vervolgens in je python-code gebruikt voor het genereren van de GUI.

[Voor 32% gewijzigd door WernerL op 13-02-2022 12:59]


  • xFeverr
  • Registratie: Juni 2011
  • Laatst online: 22:08
Chris_147 schreef op woensdag 9 februari 2022 @ 09:43:
[...]

Mijn probleem met Microsoft GUI toolkits is dat ze om de 5 jaar lijken te heroriënteren: Silverlight, WPF, WinForms, UWP, MAUI, Win UI, Blazor, Project Reunion. En van allemaal hoor je tegelijkertijd dat ze uitgefaseerd worden en dat ze nog super levendig zijn. Ik weet het gewoon niet zo goed meer van Microsoft en GUIs.
Zie ook: https://visualstudiomagaz.../02/03/net-6-desktop.aspx
Je vraagt zelf om modernere frameworks en vind het niks dat Microsoft nieuwere en modernere frameworks uitbrengt :+

Nee, ik snap best wat je bedoelt. WinForms en WPF zijn al wat ouder maar worden wel nog steeds ondersteund. Alleen Silverlight is een dingetje geweest, maar we wilden toch al naar een meer web native experience. En volgens mij kon je Silverlight applicaties wel migreren naar WPF.

Ik gebruik zelf het liefste WPF of UWP. Omdat dat native is en goed werkt. Maar dat werkt niet op Linux. Verder vind ik Flutter en Dart best leuk, maar heb er nooit iets groots mee gedaan. Sinds kort ook Windows-ondersteuning dus je zal eens kunnen kijken wat dat doet.

Web apps maken zou ik afraden tenzij het in een webbrowser zal blijven draaien. Dat vreselijke electron is niks, maar dat is echt een persoonlijke mening.

  • Willaaam
  • Registratie: Juni 2007
  • Laatst online: 23-01 19:29
Als het hele simpele tooltjes zijn en een web GUI is een optie, kijk dan eens naar streamlit voor python. Geen web kennis nodig en supersimpel in gebruik.

Moet het dynamischer dan kom je al snel uit bij een van de al genoemde opties. Ben zelf geneigd om nu voor QT of WinForms/C# (ook voor Linux) te gaan voor iets dat niet web-based is.

GTK vond ik zelf wel een afrader, dat framework zat voor mij tjokvol met bugs en heeft matige documentatie, ik vind het knap dat er zo’n goede applicaties mee gemaakt zijn (ik keek er zo’n twee jaar geleden voor het laatst naar).

  • Chris_147
  • Registratie: Juni 2005
  • Laatst online: 27-01 19:54
Heb ooit voor een open source projectje de Windows en Mac port gedaan, maar met de overstap naar GTK (ipv enkel PyGame) werd ik toch niet gelukkig met het packagen naar .exe/.app.
Minder belangrijk voor persoonlijke apps, maar toch

  • Lethalis
  • Registratie: April 2002
  • Niet online
Als je alleen maar simpele tooltjes maakt en VB mist, kun je toch gewoon VB.Net gebruiken? Desnoods met WinForms en gewoon op het .Net Framework. Werkt nog steeds prima hoor.

Dat is verreweg het makkelijkste als je een Windows applicatie wil maken.

Natuurlijk zijn er veel andere opties, maar dan maak je het jezelf alleen maar lastiger volgens mij.

Ask yourself if you are happy and then you cease to be.


  • AddictIT
  • Registratie: April 2005
  • Laatst online: 23-12-2022
Ik ben de laatste tijd enorm bezig met Go als programmeertaal en Fyne voor de GUI.
Cross-platform en Go is echt een eenvoudige taal om mee te starten.

https://fyne.io

  • ShitHappens
  • Registratie: Juli 2008
  • Laatst online: 20:17
Als Java al bekend is, is dan Swing om er een gui op te bouwen nog een optie? Of is dat echt te prehistorisch tegenwoordig?

  • analogue
  • Registratie: Augustus 2010
  • Laatst online: 08:24
Ik wilde net JavaFX gaan suggereren, Swing is inderdaad wel verleden tijd.

Momenteel ben ik met een applicatie bezig die op zowel mac OS en windows moet draaien, ik ontwikkel op Linux, dus zonder al teveel moeite draait het nu al op drie platforms.

  • kay0313
  • Registratie: April 2013
  • Laatst online: 13-03-2022
Je zou ook eens kunnen kijken naar Uno(https://platform.uno) of Avalonia(https://avaloniaui.net).
Beide kunnen cross platform apps maken op basis van C# en redelijk populair op het moment.
Maar dan moet je het wel leuk vinden om met XAML te werken voor de UI.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee