6 points par xguru 2024-01-31 | 3 commentaires | Partager sur WhatsApp
  • Développement d'applications mobiles avec le framework Svelte
    • Utilise l'ensemble des fonctionnalités de Svelte telles quelles, y compris Transitions, Stores et la réactivité
  • Développement d'applications natives iOS/Android cross-platform avec NativeScript, sans WebView
    • Contrairement à React Native ou NativeScript-Vue, qui effectuent l'essentiel du travail sur l'appareil mobile, la plupart des traitements sont réalisés à l'étape de compilation
    • Offre une véritable UI native et de vraies performances natives tout en partageant les technologies et le code du web
  • Au lieu d'utiliser des techniques comme le virtual DOM diffing, écrit du code qui met à jour avec précision les widgets de vue natifs lorsque l'état de l'application change

3 commentaires

 
bus710 2024-01-31

Il me semble avoir vu quelque part sur Reddit l’an dernier qu’on disait que NativeScript n’était plus vraiment dans un état très vivant. Je me souviens aussi d’un commentaire disant que, s’il faut absolument faire une appli mobile avec Svelte, il vaut mieux utiliser Capacitor ou attendre Tauri Mobile.

 
dodok8 2024-01-31

Moi aussi, j’aime bien Svelte, mais pour être honnête, ce projet me laisse quand même perplexe. J’ai l’impression qu’il y a trop peu de code réellement vivant ?

 
xguru 2024-01-31

Avis sur Hacker News

  • Malgré les qualités du projet, il faudrait préciser plus clairement qu’il ne fait pas partie du framework Svelte officiel. Le projet imite l’apparence de la documentation Svelte, mais j’ai l’impression qu’il manque des explications sur qui ils sont.
  • J’ai déjà créé quelques applications avec React Native, et avec le temps c’est devenu un cauchemar : la complexité a explosé à cause des problèmes de compatibilité entre différentes versions de bibliothèques JavaScript, de frameworks, de versions Android/iOS et de systèmes de build. Je préfère apprendre Kotlin/Swift et rester dans un seul écosystème.
  • Bien que je sois un grand fan de Svelte, ce projet n’a pas reçu beaucoup d’attention ni de suivi ces dernières années. Cela dit, je pense que React et React Native conviennent mieux à ceux qui veulent créer des applications natives avec des technologies web. Vu les progrès du support des PWA dans Safari, l’hostilité croissante d’Apple envers les développeurs natifs et les améliorations des navigateurs comme WebGPU, j’espère qu’à l’avenir il ne sera plus nécessaire de créer des applications natives pour 95 % des cas d’usage. Le principal obstacle reste le fait qu’Apple continue de traiter les applications web comme des citoyens de seconde zone sur iOS et n’ajoute qu’à contrecœur à Safari les API nécessaires pour offrir une bonne expérience proche du natif.
  • Il y a quelques années, nous avons essayé cette technologie en entreprise pour créer une application cross-platform, en espérant pouvoir partager une grande partie du code avec notre interface web en Svelte. Nous avons fait beaucoup de progrès pendant 3 à 4 mois, mais nous avons rencontré de nombreux bugs étranges et edge cases difficiles à déboguer. Nous avons fini par migrer la base de code mobile vers Flutter. Cela s’est peut-être amélioré depuis, mais sur la base de ma première impression, je ne recommanderais pas NativeScript pour autre chose que des interfaces simples.
  • Ce n’est pas vraiment une version Svelte de React Native, mais plutôt l’un des wrappers de NativeScript.
  • C’est basé sur NativeScript. Si vous voulez du cross-platform, je pense qu’il vaut mieux rester sur RN. Écrire une application en Kotlin ou en Swift est plus simple que ce système complexe.
  • Le mot « natif » est surutilisé.
  • L’application d’exemple date d’il y a 5 ans. Je me demande si quelqu’un utilise vraiment ça.
  • J’ai créé beaucoup d’applications mobiles ces dernières années, et je les ai toujours rendues avec des technologies web dans une webview. Comme j’accorde énormément d’importance à l’expérience utilisateur, je ne vois pas, sur les smartphones modernes, l’intérêt de rendre dans une webview plutôt que d’utiliser des outils comme React Native, Flutter ou NativeScript. Des bibliothèques UI comme Ionic sont impossibles à distinguer de composants UI natifs, et il n’existe aucune étude utilisateur réelle qui montre le contraire. Dans ce cas, pourquoi utiliser ces outils cross-platform au lieu d’utiliser directement Svelte avec une webview ?
  • J’aime Svelte et j’espère que son modèle de composants unique s’adapte bien au développement d’applications mobiles natives. Je me demande à quel point la toolchain diffère de celle de React Native.