SwiftWebUI permet de créer des sites web avec SwiftUI

Nicolas Furno |

Apple a imaginé SwiftUI, son nouveau framework d’interface, pour fonctionner avec toutes ses plateformes, de l’Apple Watch au Mac, en passant par l’iPhone et l’Apple TV. Depuis son annonce, certains s’imaginent qu’il pourrait servir au-delà de l’écosystème Apple et pourquoi pas… sur le web ? SwiftWebUI est la réponse, une version adaptée de SwiftUI qui permet de créer des sites web à partir de vues conçues au départ pour des apps iOS ou macOS.

SwiftWebUI intègre les vues SwiftUI dans du code JavaScript, pour l’exécuter ensuite dans un navigateur web.

Avant de vous précipiter pour créer votre prochain site en SwiftUI, il convient de préciser que ce projet est loin d’être finalisé et prêt pour un usage sérieux. De l’avis même de son auteur, c’est plus un jouet, ou disons la preuve que c’est une solution envisageable. Mais pour qu’elle devienne réaliste, il faudrait l’implication d’Apple, ce qui n’est sans doute pas prêt d’arriver.

Ces précautions posées, le créateur du projet a malgré tout réussi à recréer la démo d’une session dédiée à SwiftUI de la WWDC. Dans cette démo, Apple montre comment créer une app assez simple avec le nouveau framework et la version SwiftWebUI est une copie fidèle. Les interactions restent possibles et le serveur local stocke ce que l’utilisateur saisit, comme dans l’app originale.

Pour le moment, SwiftWebUI ne fonctionne qu’en local sur un Mac équipé de la bêta de macOS Catalina. Il reste encore du travail pour que le projet puisse tourner sur un serveur web public sous Linux et il reste aussi du travail pour prendre en charge toutes les fonctions de SwiftUI. Si l’idée vous intéresse, vous pouvez suivre le développement ou même participer vous-même sur la page GitHub du projet.

Si vous voulez tester SwiftWebUI, vous trouverez également un tutoriel complet pour recréer la démo d’Apple à cette adresse.

avatar RedMak | 

L’idée est vraiment pas mal !

avatar Guizilla | 

@RedMak

Je me suis tout de suite dit : yeeahhh génial !
Mais en fait... il est où le réel intérêt ? Ajouter une nouvelle librairie / du poids à la page ?

avatar Ramlec | 

@Guizilla

Un seul code pour les gouverner tous.

avatar Guizilla | 

@Ramlec

C’est l’argument que j’avais à l’esprit, mais je pense que ça va plutôt compliquer les choses x)

avatar Ramlec | 

@Guizilla

Je ne suis plus trop le projet mais ils parlaient de faire du swift côté serveur et une portabilité vers Android était envisagée également.

Avec le projet Catalyst derrière, ça pourrait faire quelque chose de drôle.

avatar reborn | 

@Ramlec

Avec Vapor ;)

avatar oomu | 

A propos des standards et autres langages pour les "gouverner tous" :
https://xkcd.com/927/

-
et sinon cette histoire que j'ai vécu il y a longtemps alors que j'étais jeune bonze

- Maître, vim est austère, word est trop lourd, nano est incomplet, emacs trop compliqué, eclipse imbuvable, sublime text un jouet, visual studio un cheval de troi, aucun éditeur de texte ne convient !
- très bien disciple, que proposes tu ?
- il faut créer un nouvel éditeur de texte qui reprendrait toutes les meilleures fonctionnalités des autres avec une interface simple et cohérente.

A ces mots le maître frappa sur la tête le discipline :

- imbécile, je n'ai pas besoin d'apprendre encore un nouvel éditeur de texte.

Le disciple reçut l'illumination.

avatar BeePotato | 

@ oomu : « et sinon cette histoire que j'ai vécu il y a longtemps alors que j'étais jeune bonze »

Pas crédible. Ni Sublime Text, ni Eclipse n’existaient quand tu étais jeune bonze. ;-)

avatar oomu | 

Toutes les lubies existaient déjà.

J’ai connu les logiciels “épurés”, les débats clients vs serveur, plein de querelles de clochers sur des paradigmes de langages, l’ornement vs l’utilitaire etc. Et tous les standards qui tueront les standards.

Vous pensez être originale ? Vous ne l'êtes pas. Je je ne l’étais pas à l'époque. Et certainement moins maintenant.

Remplacez sublime text par un nom d’un bidule d’hier ou de demain. L’intention était et sera la même.

Voyez au delà des formes et des noms.

avatar BeePotato | 

@ oomu : « Remplacez sublime text par un nom d’un bidule d’hier ou de demain. »

Pas besoin : c’était déjà fait dans le texte original avec vi et emacs. Pour éviter une guerre, je me garderai cependant de préciser lequel est l’imbuvable et lequel est le jouet. :-)

« Voyez au delà des formes et des noms. »

Et rater ainsi une occasion de me moquer de l’âge d’un vieux bonze ? Ce serait dommage. ;-)

avatar oomu | 

N’empêche par instant je ne sais plus si je serai ultra jeune et frais ou si j'étais déjà un vieux blasé de tout à l’époque

L’informatique N’est Plus si jeune et elle a quantité de réinventions régulièrement et d'idées Géniales à explorer.

Mais faut du recul.

avatar IceWizard | 

@oomu
"A ces mots le maître frappa sur la tête le discipline :
- imbécile, je n'ai pas besoin d'apprendre encore un nouvel éditeur de texte.
"

Et le disciple se dirigea vers la porte, en murmurant. Le maître lui demandant "
- Ford, tu sembles mécontent. Pourquoi ?.
- Maître vous me dites que vous n'avez pas besoin d'un nouveau cheval, mais moi je veux créer une voiture. Je vous quitte donc. Je retourne dans le monde des mortels pour développer mon idée."

avatar oomu | 

Vous n’avez pas l'illumination
Et vous manquez d’humilité

Le point c’est qu’on a déjà un gazillion de variation de langages (et éditeurs)

Et en rajouter un de plus ni ne supprime les autres, ni ne permet d’obtenir l’outil/standard qui les “unit tous” pour reprendre la formulation de commentaires plus haut.

Ça en fait juste un de plus à apprendre.

Vous croyez que c’est un interdit de faire une voiture ou une injonction à rester dans le passé. Vous avez raté le vrai souhait soulevé dans la discussion. Et donc la leçon de la petite parabole.

C’edt Un rappel que ça ne supprimera pas la complexité. Tout simplement.

Le sage montre la Lune, l’imbecile regarde le doigt.

avatar IceWizard | 

@oomu

"Vous n’avez pas l'illumination
Et vous manquez d’humilité
Le point c’est qu’on a déjà un gazillion de variation de langages (et éditeurs)
Et en rajouter un de plus ni ne supprime les autres, ni ne permet d’obtenir l’outil/standard qui les “unit tous” pour reprendre la formulation de commentaires plus haut.
Ça en fait juste un de plus à apprendre.
Vous croyez que c’est un interdit de faire une voiture ou une injonction à rester dans le passé. Vous avez raté le vrai souhait soulevé dans la discussion. Et donc la leçon de la petite parabole.
C’edt Un rappel que ça ne supprimera pas la complexité. Tout simplement.
Le sage montre la Lune, l’imbecile regarde le doigt."

Oh comme c'est mignon.. Une crise de rage narcissique d'Oomu qui ne supporte pas qu'on fasse un petit d'ironie sur l'un des-textes-sacrés-forcément-puisqu'il-les-a-rédigés-lui-même. Tout le processus classique est y :

"- tu manque d'humilité de remettre mes écrits en doute" (crise d'égo)
"- tu n'as pas compris la profondeur de ma pensée" (dénégation et sous-estimation de l'autre)
" - vous avez raté le vrai souhait" (dénégation de l'autre)
" - l'imbécile". (insulte)

C'est "idiot", dans la devise chinoise, mais bon je me doute bien que dans ta rage ce n'est pas assez fort et que seul un "imbécile" oserais blaguer sur ta grandeur.

C'est marrant de voir comment ta prose est insipide, quand tu piques une crise de rage. Toute l'humour disparait, et il ne reste pas grand chose .. Ce n'est pas la première fois, probablement pas la dernière ..

Enfin bref, j'en conclus que tu n'es pas assez "trouve toi-même le mot correspondant" pour comprendre le sens de ma parabole à moi. Ou alors tu l'as très bien comprise et piqué ta crise parce qu'elle n'est pas compatible avec la tienne ..

Quand aux éditeurs, si les disciples n'avaient pas filés discrètement dans la cour pour bosser à l'abri des foudres du vieux bronze, on n'aurais pas la coloration syntaxique, l'autocomplétion et autres systèmes bien sympathiques. Ni même l'utilisation de la souris et des icônes.

La devise du jour est "Quand le sage montre la Lune, l'Oomu se tape le derrière par terre, de rage de ne pas être le centre de l'attention .."

avatar MacTHEgenius | 

@Ramlec

Lors des sessions de la WWDC, Apple ne parlait pas de “Code once, run everywhere” mais plutôt de “Learn once, apply everywhere”.

Lorsqu’on connaît les principes et les méchanismes de SwiftUI, on pourra les appliquer sur toutes les plateformes. Certains bouts de code peuvent être réutilisés, mais les plateformes sont intrinsèquenent différentes. C’est impossible de faire la même interface du tous les appareils.

avatar byte_order | 

Donc d'un coté vous avez du code Web, tout autant (si ce n'est plus) déclaratif qui permet, via l'implémentation faite par un moteur web et une application cliente d'avoir la même app web mais adaptée à chaque plateforme via un code d'adaptation spécifique à cette plateforme.

Et de l'autre côté vous avez du code pas Web, très ciblé pour un ecosystème particulier mais lui aussi très déclaratif, qui permet, via l'implémentation faite par un code d'adaptation au web, d'avoir la même app non web mais semblant venir d'une particulière qui s'exécute mais pas forcément de manière native à la plateforme réelle ?!

Et on se moque d'Electron ici !?!

Un pas en avant, un pas en arrière, et on recommence, yeeeee-ahhh.

avatar oomu | 

Ce sont des exercices de geeks passionnés. Ni plus ni moins. Ne vous offusquez pas. L'idée Est au moins rigolote.

Sur ce je retourne faire du ruby on rails.

CONNEXION UTILISATEUR