Slint, een toolkit voor het maken van grafische interfaces

spleet

Slint, een uitgebreide toolset voor het maken van native gebruikersinterfaces voor desktop- en embedded apparaten,

De lancering van de eerste belangrijke versie van de Slint GUI-toolkit, die drie jaar werk aan het project samenvat. Versie 1.0 is gepositioneerd als klaar voor gebruik in werkprojecten.

De De belangrijkste doelstellingen van het project zijn het lage verbruik van hulpbronnen, de mogelijkheid om met schermen van elke grootte te werken, bieden een handig ontwikkelingsproces voor zowel programmeurs als ontwerpers en zorgen voor overdraagbaarheid tussen verschillende platforms.

Van de platforms, sLinux, Windows, macOS, Blackberry QNX worden ondersteund, WebAssembly pseudocode-assemblage mogelijk om in een browser te draaien of stand-alone applicaties te bouwen waarvoor geen besturingssysteem nodig is. Er zijn plannen om de mogelijkheid te bieden om mobiele apps te maken voor de Android- en iOS-platforms. Op Slint gebaseerde applicaties kunnen bijvoorbeeld draaien op een Raspberry Pi Pico-kaart die is uitgerust met een ARM Cortex-M0+ microcontroller en 264KB RAM.

Slint gebruikt declaratieve programmering om de ontwikkeling van de gebruikersinterface te versnellen. Onze aanpak voor het optimaliseren van de ontwikkeling en prestaties van applicaties is:

De gebruikersinterface wordt beschreven in een declaratieve taal met behulp van een syntaxis die een uitgebreide manier biedt om de verschillende grafische elementen te beschrijven en tegelijkertijd gemakkelijk te lezen, te schrijven en te leren is.
De Slint-compiler optimaliseert en vertaalt de UI-beschrijving naar native code,
De bedrijfslogica, die je in elke taal kunt schrijven, is verbonden met de gebruikersinterface met behulp van de taalspecifieke API's van Slint.

Slint wordt geleverd met een opmaaktaal die speciaal is ontworpen voor gebruikersinterfaces. Deze taal is gemakkelijk te leren, lezen en schrijven en biedt een krachtige manier om grafische elementen, hun locatie en de gegevensstroom door de verschillende toestanden te beschrijven. Het is een bekende syntaxis voor het beschrijven van de hiërarchie van elementen en eigenschapbindingen.

de interface wordt gedefinieerd met behulp van een speciale declaratieve opmaaktaal ".slint", die een syntaxis biedt voor het beschrijven van verschillende grafische elementen (een van de auteurs van Slint was ooit verantwoordelijk voor de QtQml-engine bij de Qt Company).

De Interfacebeschrijvingen in de Slint-taal worden gecompileerd in de native code van het doelplatform. De logica voor het werken met de interface is niet gebonden aan Rust en kan in elke programmeertaal worden gedefinieerd; Momenteel zijn de API en tools voor het werken met Slint klaar voor Rust, C++ en JavaScript, maar ondersteuning voor extra talen zoals Python en Go is gepland.

Slint wordt geleverd met toolondersteuning voor code-aanvulling, browsen, refactoring en syntaxisaccentuering. Terwijl u de gebruikersinterface ontwikkelt en verfijnt, toont de live preview van Slint veranderingen in realtime om direct feedback te geven.

Se bieden meerdere backends voor de uitvoer, waardoor u Qt, OpenGL ES 2.0, Skia en renderingsoftware kunt gebruiken om te renderen zonder afhankelijkheden van derden aan te sluiten.

Om de ontwikkeling te vereenvoudigen, een aanvulling op Visual Studio Code wordt aangeboden, een LSP (Language Server Protocol) server voor integratie met verschillende ontwikkelomgevingen en een SlintPad online editor. Plannen omvatten de ontwikkeling van een visuele interface-editor voor ontwerpers, waarmee een interface kan worden gemaakt door widgets en elementen te slepen en neer te zetten in de modus slepen en neerzetten.

Ten slotte, als u geïnteresseerd bent om er iets meer over te weten, kunt u de details raadplegen In de volgende link.

Voor geïnteresseerd in deze toolkit, moeten ze weten dat het is geschreven in Rust en is gelicentieerd onder de GPLv3 of commerciële licentie (voor gebruik in eigen producten zonder open source). De toolkit kan zowel worden gebruikt om grafische toepassingen voor stationaire systemen te maken als om interfaces voor embedded apparaten te ontwikkelen.

Het project wordt ontwikkeld door Olivier Goffart en Simon Hausmann, voormalige KDE-ontwikkelaars die bij Trolltech aan Qt werkten.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.