Fermer

avril 26, 2021

Construisez plus rapidement avec l'accélérateur d'applications CDS


Il y a quelques années, Satya Nadella, PDG de Microsoft, déclarait: «Chaque entreprise est désormais un éditeur de logiciels.» La frontière entre le produit que vous proposez et le logiciel qui le prend en charge s'est éclaircie, et dans certains secteurs, le logiciel est le principal avantage concurrentiel. Qu'on le veuille ou non, le logiciel est un élément essentiel de votre entreprise, la seule question maintenant est «construire ou acheter»? Il existe de nombreuses variantes d'achat, mais elles ont toutes une limitation sérieuse, un contrôle. Si vous voulez contrôler totalement votre avantage concurrentiel, vous devez construire.

Bâtiment

Construire «en interne» peut être rentable une fois que vous avez réuni la bonne équipe de développement, mais c'est plus facile à dire qu'à faire. La constitution et la formation d'une équipe efficace peuvent prendre des années. Un partenariat avec un cabinet de conseil réputé vous permettra d’obtenir un logiciel de qualité plus rapidement, mais souvent à un coût plus élevé, et vous finirez par l’acquérir «en interne». Ces compromis peuvent faire de la création de logiciels un mal nécessaire dans un jeu perdant-perdant. Chez Perficient, nous adorons créer des logiciels et nous voulons que vous l'aimiez aussi. Nous avons donc tiré les leçons de plus de 25 ans de développement de logiciels personnalisés et les avons résumés aux composants essentiels, éliminé les goulots d'étranglement et développé un accélérateur qui économise de l'argent et renforce la discipline de l'équipe à chaque étape du processus de développement. Mais cela ne vous permet pas seulement d’économiser de l’argent pendant que vous interagissez avec nous. Notre accélérateur n'est pas un cadre ou une plate-forme destiné à vous enfermer et à vous lier à nos services. Comme de bons gestionnaires et de bons parents, nous voulons faciliter votre indépendance. Notre accélérateur est une suite d’outils, de modèles, de matériel de formation et de disciplines qui vous accompagnent lorsque votre équipe est prête à s'approprier pleinement votre logiciel.

Building… Accelerated

Notre accélérateur est une boîte à outils modulaire conçue sur une fondation à la fois intemporelle et largement applicable. L'accélérateur fournit le plus de valeur lors de la création d'applications distribuées telles que des API ou des SPA (applications d'une seule page) avec un back-end associé. Ce n’est pas une solution idéale pour les applications de bureau uniquement, telles que les traitements de texte ou les outils d’édition graphique, mais nous n’avons pas de nombreux partenaires qui demandent des solutions pour ordinateur de bureau de nos jours. L'accélérateur prend en charge l'échelle de l'entreprise et les modèles distribués tels que les micro-services. À l'heure actuelle, l'interface de choix est React, mais nous avons l'intention de prendre en charge Angular et d'autres cadres d'interface utilisateur modernes. Le back-end de choix est .NET et C #, mais nous explorons également des options supplémentaires ici. Les applications accélérées peuvent être hébergées sur site ou sur n'importe quelle plateforme cloud. L'accélérateur permet d'économiser de l'argent en automatisant la configuration du projet, en éliminant le code standard, en créant les bons modèles, en utilisant des tests automatisés stratégiques et en permettant un déploiement rapide dans le cloud. Grâce à l'accélérateur, une application «hello world» prête pour l'entreprise peut être générée et hébergée dans le cloud en moins d'une heure.

Configuration rapide d'un projet

La ​​configuration d'un projet à partir de zéro peut prendre des semaines. Les équipes de développement prennent des tonnes de petites décisions incrémentielles sur les outils, les modèles, les cadres et les normes de codage. Même les architectes les plus expérimentés ont du mal à garder une trace de toutes leurs technologies et configurations «incontournables»; et puis il y a le paysage en constante évolution des dernières et meilleures technologies. Notre accélérateur automatise la création de projet en intégrant 25 ans de sagesse logicielle dans un processus de configuration de projet qui prend quelques minutes. Nos architectes organisent avec soin les nouvelles technologies à inclure dans notre accélérateur, maintenant les projets à la fois stables et modernes. Voici quelques exemples des ressources produites lors de la création du projet:

Front-end

  • Application React pour une expérience utilisateur interactive et engageante (plus de frameworks à venir…).
  • TypeScript pour une stabilité améliorée et une efficacité du développeur. [19659010] Projet VSCode avec des extensions et une configuration qui améliorent la productivité des développeurs.
  • Intégration de Storybook pour améliorer le développement de l'interface utilisateur et fournir aux développeurs et aux concepteurs une bibliothèque de composants «vivants».
  • Gestion de l'état des flux basée sur des crochets simples.
  • ] Routage SPA côté client
  • Linter configuré pour appliquer les normes de codage.

Back-end

  • C # .NET Core ou .NET 5 (plus de plates-formes à venir…).
  • Architecture en couches prête pour l'entreprise.
  • Prise en charge de l'internationalisation et de la localisation modernes.
  • Enregistrement simple des dépendances éliminant les obstacles au développement basé sur la composition.
  • Analyseurs de code personnalisés pour appliquer les normes et les modèles de codage.
  • ] Infrastructure-as-Code pour un déploiement sans effort dans le cloud.

Boilerplate

 Platforms & Technology - A Business Leaders Guide to Key Trends in Cloud

Raccourcir des semaines de temps de configuration de projet est un bon début, mais l'accélérateur ne s'arrête pas là. Il élimine également le passe-partout standard associé à la création de nouvelles «pages». Cela rase des heures sur chaque nouvelle page. Et en utilisant la génération de code en temps réel, l'accélérateur facilite la communication entre le front-end et le back-end, les développeurs se concentrent sur la création de contenu et non sur le «câblage» de l'application. Tout cela est fait avec un outillage flexible, pas un cadre lourd. Ainsi, vous n'êtes pas bloqué et disposez d'un contrôle total pour personnaliser chaque aspect de votre projet accéléré. Nous avons soigneusement mélangé des stratégies de génération de code unique et de génération de code pour libérer la productivité sans affecter la flexibilité ou créer des obstacles. Certains des passe-partout par page éliminés par l'accélérateur comprennent:

  • Médiateurs d'accès aux données
  • Processeurs logiques de domaine
  • Adaptateurs d'application distribués
  • Proxys et modèles clients
  • Routage client et serveur
  • Composants de présentation
  • Actions de flux
  • Histoires de contes
  • Tests automatisés

Les bons modèles

Il y a beaucoup de battage médiatique dans l'industrie du logiciel autour des modèles et des approches et même les ingénieurs expérimentés peuvent être distraits par la perspective de quelque chose Nouveau. Malheureusement, ce bruit complique souvent le développement de logiciels. Nous avons une vaste expérience dans la construction de nouveaux projets à partir de zéro, et nous avons surfé sur des vagues plus «à la mode» que nous aimerions l'admettre. Mais cette expérience nous a aidés à surmonter le battage médiatique et à sélectionner des modèles et des architectures intemporels à inclure dans notre accélérateur. De la formation à l'outillage, nous avons intégré les bons modèles dans la structure de l'accélérateur, ce qui rend difficile les erreurs. Et nous l'avons fait sans limiter la créativité des développeurs. En fait, en libérant les développeurs des débats contre-productifs et des modèles à la mode, ils sont mieux placés pour maîtriser les modèles qui comptent et développer des solutions créatives aux problèmes commerciaux réels. Les modèles adoptés par l'accélérateur permettent aux équipes de construire plus rapidement, avec un plus grand parallélisme et une plus grande résilience aux modes qui entraînent un verrouillage technologique.

Test automatisé

Le test automatisé est un composant critique de toute solution logicielle: s'il ne l'est pas pas été testé alors ça ne marche pas. Mais les tests peuvent être un problème important et, s'ils sont mal gérés, les progrès seront interrompus. Les projets accélérés utilisent une approche BDD (Behavior Driven Development) modifiée pour les tests automatisés qui rend les tests plus faciles à comprendre et de manière critique, plus faciles à maintenir. L'architecture en couches utilisée dans les projets accélérés définit des «coutures» claires auxquelles introduire des tests. Cela réduit le nombre total de tests sans réduire la couverture du code. Les développeurs passent moins de temps à écrire des tests, à exécuter des tests et à maintenir des tests tout en tenant une barre de haute qualité axée sur les exigences de l'entreprise.

Déploiement

L'accélérateur génère un code standard qui permet le déploiement vers les fournisseurs de cloud populaires en utilisant l'infrastructure-as- code. L'infrastructure en tant que code fournit des déploiements fiables et reproductibles, ce qui permet aux développeurs de gagner du temps et du stress. Les projets accélérés peuvent être générés et hébergés dans un fournisseur cloud en quelques minutes, il suffit de les intégrer à CI / CD et vous disposez d'une équipe agile capable de fournir de la valeur à vos utilisateurs en un temps record.

Formation

L'accélérateur est plein de grandes technologies, des gains de temps et des modèles intelligents. Mais il ne peut pas «forcer» un logiciel de qualité. Bon nombre des modèles et techniques que les ingénieurs apprennent à l'école et sur le tas sont contre-productifs à l'échelle de l'entreprise. Briser les mauvaises habitudes et unifier une équipe aux personnalités, perspectives et expériences diverses est ce qui fait la différence entre le succès et l'échec. Et l'industrie du logiciel est inondée de termes surchargés qui permettent une communication efficace dans les grandes équipes. Nous avons développé des supports de formation qui construisent un «modèle mental» partagé afin que les développeurs d'horizons divers puissent «parler le même langage». Ce modèle mental est la base de notre formation sur accélérateur. Les projets accélérés sont toujours dirigés par des ingénieurs certifiés et cette formation est étendue aux membres de votre équipe.

Conclusion

Nos partenaires ne nous ont pas demandé de construire un accélérateur. Nous l'avons construit parce que nous sommes passionnés par la création de meilleurs logiciels plus rapidement. Ce n’était pas facile, nous servons un large éventail d’industries et chaque partenaire nous présente des défis uniques. Mais grâce à des années d’expérience et à une exploration passionnée, nous avons identifié une voie qui permet d’économiser de l’argent et de permettre à nos ingénieurs de faire plus de ce qu’ils aiment et moins de ce qu’ils n’ont pas. Oui, nous utilisons notre accélérateur pour vous faire économiser de l'argent. Mais plus important encore, nous l'utiliserons pour apprendre à votre équipe à créer de bons logiciels protégeant vos investissements et ravissant vos utilisateurs.

Étapes suivantes

Pour en savoir plus sur l'accélérateur, contactez-nous ou revenez ici tous les mois. J'écris une série d'articles de blog qui fourniront un examen technique approfondi des modèles et des technologies qui activent l'accélérateur. Je ferai un lien vers ces articles dès qu'ils seront disponibles.

  • PADM, une fondation pour les grands logiciels (à venir…)

Contactez-nous pour en savoir plus sur l'accélération de votre prochaine version:

Auteur

Nathan est un architecte de solutions senior avec plus de 14 ans d'expérience dans la conception et la construction d'applications personnalisées. Il a étudié le design industriel et connaît Illustrator, mais son travail le plus créatif se fait avec un IDE. Il a une vaste expérience du full-stack, adore .NET et explore constamment de nouvelles technologies. (f.fbq) return; n = f.fbq = function () {n.callMethod?
n.callMethod.apply (n, arguments): n.queue.push (arguments)}; if (! f._fbq) f._fbq = n;
n.push = n; n.loaded =! 0; n.version = '2.0'; n.queue = []; t = b.createElement (e); t.async =! 0;
t.src = v; s = b.getElementsByTagName (e) [0]; s.parentNode.insertBefore (t, s)} (fenêtre,
document, 'script', 'https: //connect.facebook.net/en_US/fbevents.js');

fbq («init», «911436665572720»);
fbq ('track', "PageView");




Source link