Que diable est-ce l’ensemble de l’Apex des trucs? Voici Salesforce's langage de programmation

12 juin Qu’est-ce que c’est tout ce truc Apex?

posté à 13:47en Programmantbycloudity

En bref, Apex est un langage de programmation orienté objet fortement typé. C’est un langage propriétaire de la plate-forme Lightning qui est enregistré et exécuté dans la plate-forme cloud multi-locataire.

j’ai entendu dire que C’est un peu Java

syntaxiquement, Oui, Apex est similaire à Java., Si vous pouvez programmer en Java, vous êtes vraiment proche d’être un développeur Apex! Mais non, ce n’est pas Java. Il est compilé comme Java, il a une Machine virtuelle Java en arrière – plan – quelque part-mais ce n’est pas une machine virtuelle à part entière, seulement la partie de celle-ci.

Si vous êtes vraiment intéressé par les détails – Eh bien, ils ne sont internes qu’à Salesforce, mais vous pouvez creuser quelques détails intéressants dans ce brevet: brevet US20110264861: méthodes et systèmes d’utilisation du bytecode dans un environnement de service à la demande, y compris la fourniture d’environnements et de systèmes d’exécution multi-locataires.,

j’ai entendu dire que dans Apex Je ne peux pas faire X, Y et Z-Pourquoi devrais-je même perdre mon temps à lire sur un langage étrange!

Vous pouvez le traiter à un niveau élevé comme une version simplifiée de Java.

mais bon, avez-vous vraiment besoin de ArrayList, LinkedList, Stack, Vector, TreeSet, LinkedHashSet, HashSet, HashMap, TreeMap, et bien d’autres simplement pour stocker des enregistrements?

dans Apex, il y a List, Set et Map. Facile à apprendre, facile à utiliser!

C’est un langage pour FAIRE le travail. Et oui, vous pouvez faire des Injections de dépendance si vous le souhaitez.,

selon Salesforce: Apex est exclusivement destiné à créer des applications métier pour gérer les données et les processus dans le contexte plus large du framework Apex Lightning Platform. Mais dans le cadre des applications métier, Apex Code fournit une approche unique puissante et productive pour créer des fonctionnalités et une logique, permettant aux développeurs de se concentrer uniquement sur les éléments spécifiques à leur application tout en laissant le reste de la « plomberie” au framework de la plate-forme.

revendication assez forte! N’est-il pas juste du marketing? NON!,

mais s’il vous plait, si vous voulez vraiment passer 95% de votre temps à configurer des serveurs, des bases de données, des microservices, des interfaces, des passerelles, des équilibreurs de charge, des sauvegardes et des déploiements.. oh Et oui, sécurité et redondance – choisissez une autre langue et une autre plate-forme.

Apex est:

  • intégré à la base de données – vous pouvez effectuer des requêtes et des boucles en ligne, par exemple récupérer L’Id et le nom de la table de contacts (1) qui a obtenu une adresse postale en Pologne, mais veuillez rejoindre la Table de comptes (2) et ne choisir que les Contacts, Parcourez la liste, introduisez des modifications (3), puis repoussez simplement la mise à jour dans la base de données (4). Combien de temps devez-vous faire dans une autre langue? Cochez cette!

  • versionné, vous pouvez avoir plusieurs classes qui s’appellent et toutes ces classes peuvent fonctionner dans leur propre version-oui, cet Apex de 10 ans peut co-travailler avec ces nouvelles fonctionnalités brillantes que vous venez de construire! Et vous avez 3 grandes versions par an. Chaque version = nouvelles fonctionnalités.,
  • facile à utiliser – la syntaxe est similaire à Java, les méthodes Apex sont bien documentées et il existe une communauté très forte autour d’elle.
  • Rigoureux – Apex est fortement typé et compilé. Il échoue rapidement au moment de la compilation si des références ne sont pas valides. Il stocke toutes les dépendances de champ, d’objet et de classe personnalisées dans les métadonnées pour s’assurer qu’elles ne sont pas supprimées lorsqu’elles sont requises par le code Apex actif. Donc-personne ne supprimera une colonne dans la base de données si vous l’utilisez!,
  • transactionnel – toutes les opérations DML dans une transaction se terminent avec succès ou, si une erreur se produit dans une opération, la transaction entière est annulée et aucune donnée n’est validée dans la base de données – automatiquement!
  • Packable – vous pouvez emballer votre code et le vendre sur AppExchange! Ou récupérez simplement des composants prêts et réutilisez-les dans votre instance.

si je dois vraiment, où puis-je l’utiliser?

en un mot – tout le backend! Et quel est le backend pour Salesforce?,

blocs anonymes:

Vous pouvez utiliser des blocs anonymes, compilés et exécutés à la volée, pas stockés n’importe où.

vous voulez faire une correction rapide des données? Pas de problème! Envoyer des e-mails? Allez de l’avant!

Déclencheurs:

Oui, la même langue! Les déclencheurs Apex vous permettent d’effectuer des actions personnalisées avant ou après les modifications apportées aux enregistrements Salesforce, telles que les insertions, les mises à jour ou les suppressions.

contrôleurs dans les modèles MVC:

Oui, Encore une fois. Même langue. Culminé.

REST Web Services et SOAP Web Services:

pourquoi pas? Exposez les données que vous voulez, sur les règles que vous voulez avec OAuth2.,0 ou authentification entièrement personnalisée. En quelques lignes de code! Ici, nous avons un point de terminaison « compte » où vous transmettez L’Id via URI et obtenez des détails supplémentaires à ce sujet.

traitement de la Messagerie:

Vous pouvez exposer une adresse e-mail à Salesforce et faire un traitement de la messagerie. Par exemple: si vous recevez un e-mail et que vous n’avez pas de Contact connecté à cet e-mail, vous pouvez en créer un.

développement piloté par les événements:

Oui! Oui! Oui! Vous avez un bus d’événements de niveau entreprise que vous pouvez simplement utiliser dans votre code! Quelqu’un a dit « Kafka »?,

environnement serverless basé sur Kubernetes

Salesforce Evergreen apporte des fonctions serverless basées sur Kubernetes entièrement géré, la prise en charge des langages de programmation ouverts et des magasins de données hautes performances couramment utilisés. Evergreen prend en charge les technologies et les modèles architecturaux comme:

  • Fonctions-comme-un-Service (Nœud.js, Java et Apex)
  • Microservices
  • magasins de données gérés (Postgres, Apache Kafka et Redis)

Oui, toutes ces belles choses brillantes sur cette plate-forme Salesforce laide! Peut-être pas si mal en fin de compte?

j’ai entendu dire que les développeurs détestent ça!,

Apex applique les bonnes pratiques de programmation par 2 caractéristiques de conception principales:

  • déploiement imposé par test
  • limites du gouverneur

donc oui, si vous n’aimez pas tester et écrire du code optimal, vous ne l’aimerez pas, désolé!

test!

c’est facile à tester, Apex a pris en charge la création et l’exécution de tests unitaires, vous savez exactement quelle ligne est couverte et laquelle nécessite une attention particulière. Vous pouvez simuler des services externes afin que les intégrations D’API REST et D’API SOAP puissent également être bien couvertes.,

et – vous ne pouvez tout simplement pas pousser le code à la Production si au moins 75% du code n’est pas testé à l’unité! La HAINE!!!

limites de gouvernance!

aimez-vous écrire des requêtes de base de données dans for loop? Vous serez punis!

aimez-vous interroger toute la table de base de données si vous n’avez besoin que de 2 champs dans 4 enregistrements sur une table de 10 millions d’enregistrements avec 500 colonnes? Vous serez punis!

aimez-vous utiliser les algorithmes O(n^4)? Oui, vous serez punis!

mais bon, vous pouvez simplement commencer à écrire du bon code!, Étant donné Qu’Apex s’exécute dans un environnement multitenant, le moteur D’exécution Apex applique strictement les limites afin que le code ou les processus Apex ne monopolisent pas les ressources partagées. Si du code Apex dépasse la limite, le gouverneur associé émet une exception d’exécution qui ne peut pas être gérée.

y a-t-il des postes pour tout cet Apex?

Eh bien, je connais pas mal de gens qui ont programmé en Java et sont entrés dans le monde Salesforce. Je ne me souviens pas de quitter Salesforce pour Java. Hmm

de L’Argent? Travail intéressant? Différentes missions? Différentes applications?, Aucune idée de ce que la raison en est!

Habituellement, nous disons que nous avons quelqu’un appelé un développeur Salesforce. Une telle personne travaille principalement avec le backend-Oui, Apex. Mais, la plupart des développeurs sont plus comme des « ninjas” – nous avons beaucoup de frontend dans Salesforce sous forme de composants Web Lightning (modern Web Component framework), de composants Lightning (un peu plus anciens, basés sur Aura framework) ou de pages Visualforce (modèle MVC)., Lorsque vous travaillez avec Salesforce, vous élargissez vos connaissances non seulement sur Apex (un langage de programmation orienté objet puissant), mais également sur JavaScript, HTML5, CSS3 et les technologies web modernes.

OK, alors puis-je l’apprendre quelque part sans payer beaucoup d’argent?

Salesforce a une édition développeur gratuite!

Il existe également une plate-forme Trailhead https://trailhead.salesforce.com/ où vous pouvez apprendre gratuitement du débutant au niveau architecte!, Cette plate-forme d’apprentissage est fortement gamifiée avec des sujets de la vie réelle, découpés en parties faciles à digérer de 15 à 20 minutes.

et il suffit de google-il y a beaucoup de matériaux de haute qualité disponibles à portée de main!

Author: admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *