image

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

image
IKOMOBI
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
Florian Hureau
28 août 2019
Tendance

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 . Stratégie

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
Tendance

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 . Tendance

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 […]
image
image
IKOMOBI
11 février 2019
Agenda événements

Congrès Entreprise du futur 2019 : ce que nous retenons

Nous étions présents au congrès Entreprise du Futur qui a eu lieu le 17 janvier dernier à Lyon. Un moment privilégié et très bien orchestré, favorisant le partage de connaissances et d’expériences entre 4 000 dirigeants de PME, ETI et Grands Groupes. Leur point commun : la conscience de l’impérieuse nécessité de se transformer dans […]
image
image
IKOMOBI
29 janvier 2019
Stratégie . Tendance

Quelles sont les tendances qui feront évoluer les modèles économiques des organisations en 2019 (et après)

1. Les smart home devices grand public seront menés en 2019 par les assistants intelligents Selon le fameux cabinet Deloitte, le marché des smart speakers va générer 7Md$ en 2019, sur un total de 96Md$ sur les objets connectés pour la maison en 2018. L’industrie globale de production de ces objets intelligents devrait atteindre une […]
image
image
Florian Hureau
31 décembre 2018
Design . Tendance

UI Design Tools 2019 : Inventaire des outils utilisés par l’équipe IKOMOBI

Les fêtes de fin d’année sont l’occasion de revoir ses classiques. Certains voudront regarder La Grande Vadrouille, d’autres un Indiana Jones, un Gremlins, Home Alone ou encore Back to the Future. Chez nous c’est Ghostbusters qui a fait résonance quand, autour d’une bière de Noël, il s’est agi d’évoquer le parallèle que nous pourrions trouver […]
image
image
IKOMOBI
18 décembre 2018
Agenda événements

[AGENDA] Participez à l’entreprise DU FUTUR le 17 janvier à Lyon avec Ikomobi !

  Entreprise du Futur c’est un moyen pour vous, dirigeant et décideur de PME & ETI, d’accéder à une communauté et vous permettre de trouver de nouveaux leviers de croissance (partenaires, technologie, prestataire..etc) pour vos activités. Chez ikomobi nous croyons fortement à la force de l’écosystème pour co-construire des solutions innovantes en réponse à des […]
image
image
IKOMOBI
4 décembre 2018
Tendance

Digital Innovation 2018 : ce qu’il fallait retenir

Le digital Innovation 2018 le 28/11/2018 Lieu : 104, paris 19ème. Organisateur : EBG   Si nous devions résumer cette belle journée de conférences et Workshops, voici les mots-clés et thématiques à retenir : Démystification de l’IA User Centric / User experience Approche “data driven” des projets Innovations & transformations structurée C’est intéressant d’observer l’arrivée […]