Je parcours votre contenu pour vous aider à trouver rapidement les réponses à vos questions.
-
La paresse est une caractéristique essentielle des programmeurs les plus performants. Les amateurs gaspillent leur temps sur des choses futiles, tandis que les bons programmeurs sont rapides et efficaces.
Programmer vite présente certes un avantage commercial, mais les excellents programmeurs le font pour des raisons personnelles : mieux vaut se simplifier la vie que de travailler dur. Mieux vaut réutiliser des composants et du code que de tout créer de zéro. La simplicité, c’est moins de travail. Et moins de travail, c’est mieux.
Les premiers logiciels étaient conçus pour un usage personnel par des développeurs soucieux de réduire les tâches manuelles. L'idée était de coder intelligemment et de laisser les ordinateurs faire le gros du travail. Cette tendance s'est poursuivie avec l'évolution du secteur, expliquant ainsi l'essor des langages de haut niveau comme Swift (personne ne souhaite programmer en langage machine), des bibliothèques de code, des logiciels libres et des services cloud. L'élégance reste importante, mais la véritable élégance consiste à ne pas réinventer la roue.
Cette tendance à travailler moins en travaillant plus intelligemment trouve une nouvelle expression sous la forme de fonctionnalités en tant que service (FaaS), la dernière évolution du développement d'applications.
Les développeurs utilisent depuis un certain temps les services cloud côté serveur. Une grande partie du cloud repose sur l'infrastructure d'Amazon Web Services, par exemple, et de nombreux développeurs utilisent les services backend de Stripe et PayPal pour le traitement des paiements par carte bancaire. Ces services backend rendent le développement nettement plus rapide et plus fiable, car les programmeurs s'appuient directement sur ces services au lieu de les développer de A à Z.
Une façon FaaS de coder
La tendance émergente des FaaS étend ce concept aux fonctionnalités front-end. Si un développeur d'application a besoin de services de géolocalisation, il peut utiliser un fournisseur FaaS comme Mapbox pour intégrer rapidement cette fonctionnalité sans avoir à la développer de zéro. De même, s'il souhaite des fonctionnalités sociales, il peut opter pour un fournisseur FaaS comme Tapglue et s'affranchir de la gestion des profils, du suivi des utilisateurs, des flux d'actualités et des notifications, ainsi que d'autres composantes sociales telles que les commentaires et le partage intégré.
De nombreuses fonctionnalités couramment utilisées par les développeurs d'applications sont déjà disponibles en tant que service FaaS.
Algolia , par exemple, propose des fonctionnalités de recherche telles que la saisie semi-automatique, les requêtes avancées, la recherche géographique et des mécanismes de retour d'information basés sur des indicateurs que vous définissez. Elle prend également en charge plusieurs langues.
Si vous avez besoin de liens profonds, vous pouvez utiliser les services de Branch.io , qui simplifie la création de liens redirigeant l'utilisateur vers une action lorsqu'il clique sur « Inviter » ou « Partager », et associe des données à ces liens. Ces données peuvent servir, par exemple, à l'intégration de nouveaux utilisateurs et à la création de contenu.
C'est la paresse à son paroxysme. Le FaaS accélère le développement d'applications tout en améliorant leur qualité. Les développeurs se concentrent sur la proposition de valeur fondamentale de l'application – ce qui la différencie – et non sur les fonctionnalités nécessaires mais déjà perfectionnées par d'autres. Le programmeur avisé s'approprie des fonctionnalités existantes et les combine de manière innovante en minimisant le code original.
Travailler de cette manière constitue un développement d'applications intelligent, et les communications en temps réel en sont un bon exemple.
La fonctionnalité intégrée de chat vidéo et d'appel en un clic est aujourd'hui importante pour de nombreuses applications. Selon mes estimations, la fonctionnalité d'appel en un clic génère un chiffre d'affaires annuel d'environ 1 000 milliards de dollars, comme je l'ai indiqué dans un article publié le mois dernier,intitulé «Pourquoi la fonctionnalité d'appel en un clic est importante pour les applications mobiles et les sites web ». Google rapporte qu'environ 70 % des consommateurs mobilesutilisent la fonctionnalité d'appel en un clic pour passer des appels plus rapidementlorsqu'ils sont en déplacement, et 40 % l'utilisent fréquemment.
L'intégration de communications en temps réel dans les applications est relativement simple grâce à l'horloge temps réel mobile (RTC), mais les problèmes de compatibilité, les nombreux obstacles techniques et les questions d'expérience utilisateur rendent toujours complexe l'intégration de fonctionnalités voix et vidéo en temps réel. Les applications exigeantes doivent garantir la fiabilité de leurs fonctionnalités voix et vidéo, même en cas de connectivité réseau mobile fluctuante.
Au lieu de se confronter eux-mêmes à ces problématiques, les développeurs peuvent intégrer un fournisseur de communications en temps réel FaaS tel qu'Agora.io et bénéficier d'une fonctionnalité d'appel en un clic avec seulement quelques lignes de code. De la même manière qu'ils utilisent Stripe pour le traitement instantané des paiements côté serveur, ils peuvent utiliser Agora.io pour des fonctionnalités voix et vidéo clés en main côté client, laissant au fournisseur la gestion des aspects réseau, l'optimisation des codecs et d'autres questions comme la compatibilité.
Travailler intelligemment
L'utilisation de FaaS pour le déploiement de fonctionnalités et la résolution des problèmes courants d'interface utilisateur permet aux développeurs d'obtenir des fonctionnalités robustes sans effort considérable. C'est du codage intelligent, et c'est aussi la prochaine étape de l'évolution du développement logiciel.
Le rythme actuel du développement logiciel et les exigences des consommateurs sont tels que même les programmeurs les moins regardants sur leur temps comprennent pourquoi le FaaS est une évolution quasi inévitable. Le FaaS permet d'en faire plus avec moins de ressources et de libérer du temps pour les aspects du développement d'applications qui représentent une rupture plus fondamentale avec les méthodes traditionnelles.
Pour les applications qui exploitent des technologies et des fonctionnalités existantes, FaaS accélère le processus. Pour celles qui reposent sur une innovation technique plus fondamentale, les développeurs peuvent utiliser FaaS pour se concentrer sur cette innovation clé et laisser le reste aux fournisseurs de services de fonctionnalités.
Dans tous les cas, FaaS simplifie la vie. Tout bon programmeur le comprendra.