image

SwiftUI : le développement natif d’app iOS désormais à la portée de tous ?

image
Équipe iOS
27 août 2019

Plus de la moitié des applications présentes dans le top 100 de l’AppStore est désormais écrite avec Swift. Senior VP Software Engineering chez Apple, Craig Federighi précise d’ailleurs que ce sont plus de 450 000 apps Swift qui sont désormais téléchargeables.

Parmi toutes les nouveautés présentées lors de la WWDC 2019 (Worldwide Developers Conference 2019), Dark mode, iPad OS, meilleures performances avec iOS 13, possibilité d’utiliser des clés USB, carte SD et disques durs externes sur les iPhones et iPad, Apple a également mis l’accent sur un nouveau framework baptisé SwiftUI.

Conçu dans la perspective de proposer une alternative encore plus simple, plus rapide et plus sûre en matière de développement natif d’application iOS, ce nouveau framework a la particularité d’être fondé sur une syntaxe déclarative qui facilite la construction d’interface utilisateur.

Créer rapidement et simplement des interfaces utilisateurs à partir d’instructions déclaratives

Actuellement, qu’il s’agisse de créer une interface utilisateur sous forme de Storyboard ou bien en privilégiant l’écriture du code, on utilise le framework UIKit proposé par Apple.

Un Storyboard
Un composant générique codé en Swift avec UIKit
Le rendu du composant codé ci-dessus

Grâce à SwiftUI, on peut désormais créer cette même interface utilisateur directement à partir d’instructions déclaratives puis ajouter des paramètres qui vont permettre de personnaliser l’affichage à partir notamment des nouveaux effets et animations conçus par Apple.

SwiftUI est plus rapide à écrire et plus simple d’accès que ses prédecesseurs. En effet, Xcode 11 offre la possibilité de prévisualiser ce que donne l’application au fur et à mesure de l’écriture du code. Il permet d’une part de glisser / déposer des composants directement dans l’écran de prévisualisation puis d’utiliser l’inspecteur pour changer des paramètres à la manière des storyboards.

Au lieu de générer un fichier XML abscon, la nouvelle version d’Xcode génère directement le code. C’est un gain de temps énorme et d’une facilité déconcertante !

La célèbre maxime d’Apple « Everyone can code » (le code à la portée de tous en français) porte désormais tout son sens.

Une interface codée avec SwiftUI avec sa Preview en direct à côté

Swift UI : des premiers pas convaincants chez IKOMOBI

Au sein du pôle iOS d’IKOMOBI nous avons pris la décision de tester cette nouveauté dès le lendemain de sa parution, en nous exerçant tout d’abord avec les tutoriels proposés par la firme à la pomme.

De prime abord, cette nouvelle façon de coder nous est apparue plutôt pratique et surtout beaucoup plus rapide que précédemment. SwiftUI nous a semblé apporter une forte valeur ajoutée lorsqu’il s’est agit de réaliser des interfaces de belles factures (une page scrollable verticalement avec des éléments scrollables horizontalement par exemple).

Afin de poursuivre le test, nous nous sommes ensuite lancés dans la réécriture d’un projet déjà réalisé au sein du pôle iOS d’IKOMOBI. Les choses se sont alors avérées un peu plus complexes.

Des composants essentiels manquent encore à l’appel !

SwiftUI utilise des éléments graphiques qui diffèrent de ceux proposés par UIKit. Les deux librairies ne sont pas compatibles (par exemple, Kingfisher qui permet de récupérer une image depuis une adresse URL et de l’afficher dans une UIImageView).

De plus, SwiftUI omet de fournir certains composants pourtant essentiels lorsqu’il s’agit de réaliser une application. Citons par exemple : UICollectionView, UISearchBar, UIActivityIndicator, UIPageViewController L’un des tutoriels, indique d’ailleurs comment créer son PageViewController avec SwiftUI à partir d’un bridge avec UIKit.

L’absence d’UICollectionView se fait grandement ressentir. Simple avec UIKit, présenter une liste d’items sous forme d’une simple grille devient fastidieux avec SwiftUI. Il faut en effet passer par une ScrollView au sein de laquelle on insère un VStack (StackView verticale) dans lequel on vient placer des HStack (StackView horizontale) qui contiendront les items à afficher. Pour couronner le tout, ces derniers devront eux-mêmes être placés dans des Button afin de pouvoir recevoir un tap et gérer une action à effectuer.

Outre son caractère peu recommandable, cette façon de coder engendre de surcroît un risque majeur de fuite mémoire dans le cas d’un grand nombre d’items à charger.

Dans le cadre de la réalisation d’une application à l’UI complexe, nous émettons enfin un doute quant aux possibilités qu’offrent ce framework à séparer, la réalisation d’une navigation custom à base de containers pour gérer une NavigationBar custom d’un côté et le reste de l’application de l’autre.

Pour un certain temps encore, SwiftUI s’adressera avant tout à ceux qui s’initient au développement d’applications iOS

SwiftUI nous a convaincu par son potentiel en tant que framework à destination des développeurs débutants. A contrario, il nous est apparu encore incomplet étant entendu qu’il ne supporte qu’iOS 13. De plus, l’autocomplétion nous est parue capricieuse, ne nous proposant par moment aucune proposition d’attributs pour nos éléments graphiques, alors qu’il y en avait un grand nombre qui étaient applicables.

Actuellement en version bêta, SwiftUI sera sûrement amené à s’enrichir dans les prochains mois. Mais dans l’état actuel, il n’est pas assez viable pour être utilisé dans le cadre de la réalisation d’une application pour l’un de nos clients. De plus, il ne pourra sûrement pas l’être avant deux ans minimum, la version minimale le supportant étant iOS 13. Chez IKOMOBI nous proposons nécessairement le support d’au moins deux versions inférieures à la version actuelle d’iOS.

image
image
Équipe Android
7 novembre 2019
Technologies

London droidcon 2019 : l’incontournable grand-messe européenne des développeurs d’applications mobiles Android

Les 24 et 25 octobre derniers, deux représentants de notre équipe de développement Android se sont rendus, à Londres, à la droidcon 2019 pour faire le plein de nouveautés techniques à propos de leur plateforme fétiche. Reportage. À peine sortis de l’Eurostar, nous prenons le métro londonien pour rejoindre le Business Design Centre qui héberge […]
image
image
Florian Hureau
5 novembre 2019
Actualités

IKOMOBI News #3 : l’actualité digitale via le prisme de l’agence mobile

Chaque sprint (toutes les 2 semaines), retrouvez les infos UX design, transformation digitale, développement mobile, web et marketing mobile par IKOMOBI. Adobe Photoshop sur iPad : fin de la version bêta La vingt-et-unième mouture de cet éditeur d’image comporte son lot de nouveautés portant sur l’amélioration continue des centaines (milliers ?) d’outils qu’il propose : […]
image
image
Florian Hureau
15 octobre 2019
Actualités

IKOMOBI News #2 : l’actualité digitale via le prisme de l’agence mobile

L’actualité UX design, transformation digitale, développement mobile, web et marketing mobile par IKOMOBI Mastercard, Stripe, eBay et Visa quittent Libra, la monnaie virtuelle de Facebook Après les interrogations voire réticences de nombreux gouvernements à travers le monde, ce sont maintenant ses partenaires historiques qui font faux bond au projet Libra. Tour à tour et à […]
image
image
Florian Hureau
15 octobre 2019
Design

Le Dark Mode sur les mobiles iOS et Android

Tendance esthétique ou véritable plus-value des interfaces homme-machine, le Dark Mode est sur toutes les lèvres depuis la sortie d’iOS 13. Qu’est-ce que le Dark Mode ? En terme d’interface et par extension d’expérience utilisateur, le Dark Mode consiste à proposer un fond sombre et des composants d’interface s’y contrastant en couleurs claires (polices, pictogrammes, […]
image
image
Florian Hureau
1 octobre 2019
Actualités

IKOMOBI News #1 : l’actualité digitale via le prisme de l’agence mobile

L’actualité UX design, transformation digitale, développement mobile & web et marketing mobile par IKOMOBI Facebook Horizon, un nouveau Second Life pour relancer les Oculus Rift Facebook vient de lancer (en bêta) un nouveau réseau social. Accessible aux propriétaires d’un Oculus Rift, ce service va permettre aux utilisateurs d’interagir en réalité virtuelle avec des résidents du […]
image
image
Florian Hureau
28 août 2019
Actualités

Les 10 informations mobiles et digitales pour briller à la rentrée 2019-2020

Ça y est, c’est la rentrée ! Si comme nous vous avez profité de l’été pour faire une digital detox, il est désormais temps de vous remettre dans le bain de l’actualité des innovations et des usages numériques. Envie de briller au prochain COPIL ? C’est parti pour les 10 informations, web, mobiles et digitales […]
image
image
IKOMOBI
25 juin 2019
Mobile

Flutter or not Flutter

Un framework de développement créé par Google pour réaliser des applications mobiles Android et iOS Flutter est un projet open-source créé par Google et mis en avant depuis Google I/O 2017, permettant de développer des applications principalement pour Android, iOS et Fuchsia. Le projet utilise le langage de programmation Dart, présenté par Google en 2011. […]
image
image
IKOMOBI
20 mai 2019
Mobile

ASO 2019 : les bonnes pratiques en matière d’App Store Optimization

Après l’idéation, la conception et la réalisation de votre application mobile, cette dernière a été déposée sur les stores. Bravo mais ce n’est pas terminé ! Votre application mobile démarre sa vie publique et va bientôt être confrontée aux réalités de la visibilité sur les stores d’applications. C’est ici que la démarche d’ASO (App Store […]
image
image
IKOMOBI
25 avril 2019
IKOMOBI

Meet the team : Jason, Web Integrator et UX/UI Designer

Boulanger, architecte, avocat, informaticien… Nombreux sont les métiers que Jason a voulu faire durant son enfance. Pourtant, il n’était pas vraiment destiné à faire du design… Ayant réalisé des études en sciences/langues, il ne savait toujours pas vers quel secteur se diriger en dernière année de lycée. Il a étudié 3 ans dans une école […]
image
image
IKOMOBI
26 mars 2019
Tendances

Vers une expérience omnicanale : les leviers du phygital

Le phygital, expression inventée et déposée par l’agence de Marketing australienne Momentum en 2013, est la contraction de 2 termes : “physique” et “digital”. Terme en vogue depuis maintenant quelques années, le phygital envahit le commerce. Nous assistons à une réelle digitalisation des points de vente, notamment avec l’utilisation d’outils numériques.  Évidemment, le retail pouvait […]
image
image
IKOMOBI
19 mars 2019
Analyse

Comment enrichir l’expérience clients avec le Phygital – Compte rendu table ronde EBG du 19 mars 2019

Nous étions ce matin présents à une conférence organisée par l’EBG. Voici notre compte rendu des retours d’expériences de trois grandes marques de secteurs bien différents, qui se rejoignent sur des problématiques similaires en terme d’expérience client omnicanal à l’ère du digital. L’expérience client en passe de remplacer la relation client ? On peut noter quatre […]