Le livre "App from scratch"

J'ai écrit un livre, une version préliminaire, sur la création d'applications Web à partir de zéro.


J'ai lu de nombreux livres sur la programmation, mais souvent après la lecture, je n'avais qu'une seule question - Comment mettre ces connaissances en pratique?


Supposons que vous soyez développeur d'un système d'automatisation, d'un portail ou d'une boutique en ligne.
L'ajout de nouvelles fonctionnalités est compliqué par la superposition de code. L'exécution des tests prend une demi-heure et la version prend une heure. L'idée de passer à une nouvelle version du framework provoque des secousses nerveuses. Vous apprendrez que PostgreSQL prend en charge les tableaux, jsonb, la recherche en texte intégral et la jointure latérale, mais ORM ne permet pas de les utiliser à leur plein potentiel. Vous lisez sur TDD, mais comment écrire dans un tel style lorsque l'analyste décrit les scénarios et que le framework nécessite la création d'un modèle, d'un contrôleur et d'une présentation?


Comment appliquer SOLID si les entités héritent d'ORM?


Comment se débarrasser de la douleur?


Petit à petit, en étudiant Clojure, et enfin après avoir lu Clean Architecture, j'ai réalisé comment écrire sans peine une application où le domaine est en premier lieu, et non le framework où je prends des décisions, et non les créateurs des frameworks qui imposent les leurs.


Dans une certaine mesure, le livre peut être vu comme un tutoriel pratique sur Clojure,
la connaissance de cette langue n'est donc pas requise.


Le livre, au minimum, vous apprendra à lire le code Clojure.


Nous analyserons les points fondamentaux, à savoir: le polymorphisme et la gestion des états.
En pratique, nous implémentons la monade Either.


Dans le deuxième chapitre, je présenterai des idées de conception de base:


  • Conception orientée objet
  • Principes SOLIDES
  • Architecture épurée
  • Conception pilotée par domaine
  • Injection de dépendance
  • Techniques de travail avec la base de données

Dans les chapitres suivants, je décrirai comment créer une application basée sur ces principes.


Nous allons commencer par la logique métier, implémenter des cas d'utilisation, reporter l'adoption de solutions techniques utilisant des abstractions.


Nous livrons l'application à l'utilisateur à l'aide des technologies Web.
Analysons le travail avec les formulaires, la validation.


Envisagez la mise en œuvre d'une abstraction du stockage basée sur les modèles Data Maper, Identity Map et Unit of Work.


J'ai essayé de me concentrer sur des choses vraiment importantes, plutôt que de retaper la documentation.
Lors de la lecture, vous devrez rechercher et étudier du matériel supplémentaire, pour cela je donne des liens.


Le livre contient des exercices pratiques. Le projet sur la base duquel il est rédigé est disponible.


Il est important de comprendre qu'il s'agit d'une version préliminaire.


Il y a sûrement des problèmes avec la présentation, et il est important pour moi de recueillir des commentaires dès que possible.
Pour le moment, le livre n'a ni site Web, ni pdf ni epub.


Lien livre


Envoyez vos commentaires à m.kuzmin+afs@darkleaf.ru

Source: https://habr.com/ru/post/fr426537/


All Articles