{"id":13802,"date":"2020-06-12T17:20:00","date_gmt":"2020-06-12T17:20:00","guid":{"rendered":"https:\/\/lightgoldenrodyellow-horse-236112.hostingersite.com\/resources\/was-zum-teufel-ist-dieser-ganze-apex-kram\/"},"modified":"2026-01-21T16:06:21","modified_gmt":"2026-01-21T16:06:21","slug":"was-zum-teufel-ist-dieser-ganze-apex-kram","status":"publish","type":"post","link":"https:\/\/cloudity.com\/de\/was-zum-teufel-ist-dieser-ganze-apex-kram\/","title":{"rendered":"Was zum Teufel ist dieser ganze Apex-Kram?"},"content":{"rendered":"\n<p>In kurzen, nerdigen Worten: Apex ist eine stark typisierte, objektorientierte Programmiersprache. Es handelt sich um eine propriet\u00e4re Sprache der Lightning Platform, die in der mandantenf\u00e4higen Cloud-Plattform gespeichert und ausgef\u00fchrt wird. <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Ich habe geh\u00f6rt, dass dies eine Art von Java ist.<\/strong><\/h4>\n\n<p>Syntaktisch ist Apex \u00e4hnlich wie Java. Wenn Sie in Java programmieren k\u00f6nnen, sind Sie wirklich nahe dran, ein Apex-Entwickler zu sein! Aber nein, das ist nicht Java. Es wird wie Java kompiliert, es hat eine Java Virtual Machine im Hintergrund &#8211; irgendwo &#8211; aber es ist keine vollwertige VM, nur ein Teil davon.   <\/p>\n\n<p>Wenn Sie wirklich an Details interessiert sind &#8211; nun, die sind zwar nur Salesforce-intern, aber Sie k\u00f6nnen in diesem Patent ein paar nette Details ausgraben: <a href=\"https:\/\/www.google.com\/patents\/US20110264861\" rel=\"nofollow\">Patent US20110264861: Methoden und Systeme zur Nutzung von Bytecode in einer On-Demand-Service-Umgebung, einschlie\u00dflich der Bereitstellung von mandantenf\u00e4higen Laufzeitumgebungen und Systemen<\/a>.<\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Ich habe geh\u00f6rt, dass ich in Apex nicht X, Y und Z machen kann &#8211; warum sollte ich meine Zeit damit verschwenden, \u00fcber eine seltsame Sprache zu lesen!<\/strong><\/h4>\n\n<p>Sie k\u00f6nnen es auf einer hohen Ebene als eine vereinfachte Version von Java betrachten.  <\/p>\n\n<p>Aber brauchen <em>Sie<\/em> wirklich ArrayList, LinkedList, Stack, Vector, TreeSet, LinkedHashSet, HashSet, HashMap, TreeMap und viele mehr<strong>, nur um einige Datens\u00e4tze zu speichern<\/strong>?  <\/p>\n\n<p>In Apex gibt es List, Set und Map. Einfach zu w\u00e4hlen, einfach zu benutzen! <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Dies ist eine Sprache, um die Arbeit zu TUN. Und ja, Sie k\u00f6nnen Dependency Injections verwenden, wenn Sie wollen. <\/strong><\/h4>\n\n<p>Nach Angaben von Salesforce: <em>Apex ist ausschlie\u00dflich f\u00fcr die Erstellung von Gesch\u00e4ftsanwendungen zur Verwaltung von Daten und Prozessen im gr\u00f6\u00dferen Kontext des Apex Lightning Platform Frameworks gedacht. Aber im Rahmen von Gesch\u00e4ftsanwendungen, <\/em><strong><em>Apex Code bietet einen einzigartig leistungsstarken und produktiven Ansatz f\u00fcr die Erstellung von Funktionalit\u00e4t und Logik, der es Entwicklern erm\u00f6glicht, sich nur auf die f\u00fcr ihre Anwendung spezifischen Elemente zu konzentrieren<\/em><\/strong><em> und den Rest des &#8222;Klempnerhandwerks&#8220; dem Framework der Plattform \u00fcberlassen<\/em>.  <\/p>\n\n<p>Eine ziemlich starke Behauptung! Ist das nicht einfach nur Marketing? NEIN!  <\/p>\n\n<p>Aber bitte, wenn Sie wirklich 95 % Ihrer Zeit mit der Konfiguration von Servern, Datenbanken, Microservices, Schnittstellen, Gateways, Load Balancern, Backup und Deployment verbringen wollen&#8230; ach ja, und Sicherheit und Redundanz &#8211; w\u00e4hlen Sie eine andere Sprache und eine andere Plattform.<\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Apex ist<\/strong>:<\/h4>\n\n<ul class=\"wp-block-list\"><li><strong>Integriert mit der Datenbank &#8211; Sie k\u00f6nnen Inline-Abfragen und -Schleifen durchf\u00fchren, z.B. Id und Name aus der Kontakttabelle (1) holen, die eine Postanschrift in Polen haben, aber bitte die Kontotabelle (2) verbinden und nur die Kontakte unter Konten ausw\u00e4hlen, die &#8222;soft&#8220; im Namen haben. Iterieren Sie \u00fcber die Liste, nehmen Sie \u00c4nderungen vor (3) und geben Sie die Aktualisierung dann einfach in die Datenbank zur\u00fcck (4). Wie viel Arbeit m\u00fcssen Sie in einer anderen Sprache erledigen? Pr\u00fcfen Sie dies!   <\/strong><\/li><\/ul>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img alt=\"\" decoding=\"async\" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1.png\" alt=\"\" class=\"wp-image-5601\"\/><\/figure><\/div>\n\n<ul class=\"wp-block-list\"><li><strong>Versioniert<\/strong> k\u00f6nnen Sie mehrere Klassen haben, die sich gegenseitig aufrufen, und alle diese Klassen k\u00f6nnen in ihrer eigenen Version laufen &#8211; ja, dieses 10 Jahre alte Apex kann mit den gl\u00e4nzenden brandneuen Funktionen zusammenarbeiten, die Sie gerade erst entwickelt haben! Und Sie haben 3 gro\u00dfe Releases pro Jahr. Jede Version = neue Funktionen.  <\/li><li><strong>Einfach zu bedienen &#8211; die Syntax \u00e4hnelt der von Java, die Apex-Methoden sind gut dokumentiert und es gibt eine sehr starke Community rund um Apex.<\/strong><\/li><li><strong>Streng &#8211; Apex ist stark typisiert und kompiliert. Es schl\u00e4gt bei der Kompilierung schnell fehl, wenn irgendwelche Referenzen ung\u00fcltig sind. Es speichert alle benutzerdefinierten Feld-, Objekt- und Klassenabh\u00e4ngigkeiten in Metadaten, um sicherzustellen, dass sie nicht gel\u00f6scht werden, solange sie vom aktiven Apex-Code ben\u00f6tigt werden. Also &#8211; niemand wird eine Spalte in der Datenbank l\u00f6schen, wenn Sie sie verwenden!   <\/strong><\/li><li><strong>Transaktional &#8211; Alle DML-Operationen in einer Transaktion werden entweder erfolgreich abgeschlossen oder, wenn bei einer Operation ein Fehler auftritt, wird die gesamte Transaktion zur\u00fcckgesetzt und es werden keine Daten in der Datenbank gespeichert &#8211; automatisch!<\/strong><\/li><li><strong>Packable &#8211; Sie k\u00f6nnen Ihren Code packen und ihn auf AppExchange verkaufen! Oder nehmen Sie einfach ein paar fertige Komponenten und verwenden Sie sie in Ihrer Instanz weiter. <\/strong><\/li><\/ul>\n\n<h4 class=\"wp-block-heading\"><strong>Wenn ich es wirklich muss, wo kann ich es verwenden?<\/strong><\/h4>\n\n<p>Mit einem Wort &#8211; das gesamte Backend! Und was ist das Backend f\u00fcr Salesforce? <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Anonyme Bl\u00f6cke:<\/strong><\/h4>\n\n<p>Sie k\u00f6nnen <strong>anonyme Bl\u00f6cke<\/strong> verwenden <strong>, die<\/strong> spontan kompiliert und ausgef\u00fchrt und nirgendwo gespeichert werden.<\/p>\n\n<p>M\u00f6chten Sie eine schnelle Datenkorrektur vornehmen? Kein Problem! Ein paar E-Mails verschicken? Nur zu!   <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Ausl\u00f6ser:<\/strong><\/h4>\n\n<p>Ja, dieselbe Sprache! Mit <strong>Apex-Triggern <\/strong>k\u00f6nnen Sie benutzerdefinierte Aktionen vor oder nach \u00c4nderungen an Salesforce-Datens\u00e4tzen durchf\u00fchren, z. B. Einf\u00fcgungen, Aktualisierungen oder L\u00f6schungen.   <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Controller in MVC-Mustern:<\/strong><\/h4>\n\n<p>Ja, wieder. Dieselbe Sprache. Apex.  <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>REST-Webdienste und SOAP-Webdienste:<\/strong><\/h4>\n\n<p>Warum eigentlich nicht? Geben Sie die gew\u00fcnschten Daten nach den von Ihnen gew\u00fcnschten Regeln mit OAuth2.0 oder einer vollst\u00e4ndig benutzerdefinierten Authentifizierung frei. In ein paar Zeilen Code! Hier haben wir einen &#8222;Account&#8220;-Endpunkt, bei dem Sie die Id per URI \u00fcbergeben und einige zus\u00e4tzliche Details dazu erhalten.   <\/p>\n\n<h4 class=\"wp-block-heading\"><strong><\/strong><\/h4>\n\n<h4 class=\"wp-block-heading\"><strong>E-Mail-Bearbeitung:<\/strong><\/h4>\n\n<p>Sie k\u00f6nnen eine E-Mail-Adresse in Salesforce offenlegen und jede beliebige benutzerdefinierte E-Mail-Verarbeitung durchf\u00fchren. Z.B.: Wenn Sie eine E-Mail erhalten und mit dieser E-Mail kein Kontakt verbunden ist, k\u00f6nnen Sie einen erstellen. <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Ereignisgesteuerte Entwicklung:<\/strong><\/h4>\n\n<p>Ja! Ja! Ja! Sie haben einen Ereignisbus auf Unternehmensebene, den Sie einfach in Ihrem Code verwenden k\u00f6nnen! Hat jemand &#8222;Kafka&#8220; gesagt?    <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Kubernetes-basierte serverlose Umgebung<\/strong><\/h4>\n\n<p>Salesforce Evergreen bietet serverlose Funktionen auf der Grundlage von vollst\u00e4ndig verwalteten Kubernetes, Unterst\u00fctzung f\u00fcr offene Programmiersprachen und g\u00e4ngige Hochleistungsdatenspeicher. Evergreen unterst\u00fctzt Technologien und Architekturmuster wie: <\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Funktionen-als-Service (Node.js, Java und Apex)<\/strong><\/li><li><strong>Microservices<\/strong><\/li><li><strong>Verwaltete Datenspeicher (Postgres, Apache Kafka und Redis)<\/strong><\/li><\/ul>\n\n<p>Ja, all diese sch\u00f6nen, gl\u00e4nzenden Dinge auf dieser h\u00e4sslichen Salesforce-Plattform! Vielleicht ist das am Ende gar nicht so schlecht? <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Ich habe geh\u00f6rt, dass die Entwickler es hassen!<\/strong><\/h4>\n\n<p>Apex erzwingt gute Programmierpraktiken durch 2 zentrale Designmerkmale:<\/p>\n\n<ul class=\"wp-block-list\"><li>testgest\u00fctzte Bereitstellung<\/li><li>Gouverneursgrenzen<\/li><\/ul>\n\n<p>Also ja, wenn Sie nicht gerne testen und optimalen Code schreiben, werden Sie es nicht m\u00f6gen, tut mir leid!  <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Testen!<\/strong><\/h4>\n\n<p>Es ist einfach zu testen. Apex verf\u00fcgt \u00fcber integrierte Unterst\u00fctzung f\u00fcr die Erstellung und Ausf\u00fchrung von Unit-Tests, so dass Sie genau wissen, welche Zeile abgedeckt ist und welche zus\u00e4tzliche Aufmerksamkeit erfordert. Sie k\u00f6nnen externe Dienste mocken, so dass auch REST-API- und SOAP-API-Integrationen gut abgedeckt werden k\u00f6nnen. <\/p>\n\n<p>Und &#8211; Sie k\u00f6nnen den Code nicht in die Produktion geben, wenn mindestens 75% des Codes nicht unitgetestet sind!  <strong>HASS!!!<\/strong><\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Grenzen des Regierens!<\/strong><\/h4>\n\n<p>Schreiben Sie gerne Datenbankabfragen in einer for-Schleife?<em>  Sie werden bestraft werden!<\/em><\/p>\n\n<p>M\u00f6chten Sie die gesamte Datenbanktabelle abfragen, wenn Sie nur 2 Felder in 4 Datens\u00e4tzen aus einer Tabelle mit 10 Millionen Datens\u00e4tzen und 500 Spalten ben\u00f6tigen?  <em>Sie werden bestraft werden!<\/em><\/p>\n\n<p>Verwenden Sie gerne O(n^4)-Algorithmen? Ja,<em> Sie werden bestraft!<\/em> <\/p>\n\n<p>Aber hey, Sie k\u00f6nnen einfach anfangen, guten Code zu schreiben! Da Apex in einer mandantenf\u00e4higen Umgebung ausgef\u00fchrt wird, setzt die Apex-Laufzeit-Engine strikt Grenzen durch, damit ausufernder Apex-Code oder -Prozesse die gemeinsamen Ressourcen nicht monopolisieren. Wenn ein Apex-Code das Limit \u00fcberschreitet, gibt der zugeh\u00f6rige Gouverneur eine Laufzeitausnahme aus, die nicht behandelt werden kann.  <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Gibt es dort Stellen f\u00fcr diese ganze Apex?<\/strong><\/h4>\n\n<p>Nun, ich kenne eine ganze Reihe von Leuten, die in Java programmiert haben und dann in die Salesforce-Welt gewechselt sind. Ich kann mich nicht erinnern, dass jemand von Salesforce zu Java gewechselt ist. Hmm&#8230;    <\/p>\n\n<p>Geld? Interessanter Job? Verschiedene Aufgaben? Verschiedene Bewerbungen? Keine Ahnung, was der Grund ist!      <\/p>\n\n<p>Normalerweise sagen wir, dass wir jemanden haben, den wir Salesforce Developer nennen. Eine solche Person arbeitet haupts\u00e4chlich mit dem Backend &#8211; ja, mit Apex. Aber die meisten Entwickler sind eher &#8222;Ninjas&#8220; &#8211; wir haben eine Menge Frontend in Salesforce in Form von Lightning Web Components (modernes Web Component Framework), Lightning Components (etwas \u00e4lter, Aura Framework-basiert) oder Visualforce Pages (MVC-Muster). Wenn Sie mit Salesforce arbeiten, erweitern Sie Ihr Wissen nicht nur \u00fcber Apex (eine starke objektorientierte Backend-Programmiersprache), sondern auch \u00fcber JavaScript, HTML5, CSS3 und moderne Webtechnologien.     <\/p>\n\n<p>Mehr als 150 000 Unternehmen aus allen Branchen nutzen Salesforce. Sie haben von Adidas, AWS, T-Mobile, Philips, Toyota, ABB, Spotify, EA, Activision, GE, KLM, Nielsen, PWC, Pandora, Shazam, Unilever geh\u00f6rt &#8211; allesamt ziemliche Nischenunternehmen, nicht wahr?   <\/p>\n\n<h4 class=\"wp-block-heading\"><strong>OK, kann ich das irgendwo lernen, ohne viel Geld zu bezahlen?<\/strong><\/h4>\n\n<p>Salesforce hat eine kostenlose Entwickler-Edition!  <\/p>\n\n<figure class=\"wp-block-image size-large\"><img alt=\"\" decoding=\"async\" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/2.png\" alt=\"\" class=\"wp-image-5602\"\/><\/figure>\n\n<p>Es gibt auch eine Trailhead-Plattform <a href=\"https:\/\/trailhead.salesforce.com\/\">https:\/\/trailhead.salesforce.com\/<\/a>, auf der Sie vom Anf\u00e4nger bis zum Architekten kostenlos lernen k\u00f6nnen! Diese Lernplattform ist stark spielerisch aufgebaut und enth\u00e4lt Themen aus dem echten Leben, die in leicht verdauliche 15-20-min\u00fctige Abschnitte unterteilt sind. <\/p>\n\n<p>Und googeln Sie doch einfach mal danach &#8211; es gibt eine Menge hochwertiger Materialien, die Ihnen zur Verf\u00fcgung stehen!<\/p>\n\n<h4 class=\"wp-block-heading\"><strong>Also &#8211; sind Sie bereit, Ihren Weg zu gehen?  <\/strong><\/h4>\n\n<p>Willkommen in der Salesforce-Welt!<\/p>\n\n<p>M\u00f6chten Sie mehr \u00fcber Apex oder die Arbeit eines Salesforce-Entwicklers bei Cloudity erfahren? <a href=\"https:\/\/cloudity.digital\/kontakt\/\">Kontaktieren Sie uns<\/a>!<\/p>\n\n<p>Wir empfehlen Ihnen auch, uns auf <a href=\"https:\/\/www.linkedin.com\/company\/cloudity\/\">LinkedIn<\/a> zu folgen.<\/p>\n\n<p>Artikel von <a href=\"https:\/\/www.linkedin.com\/in\/jakub-kalke\/\">Jakub Kalke<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In kurzen, nerdigen Worten: Apex ist eine stark typisierte, objektorientierte Programmiersprache. Es handelt sich um eine propriet\u00e4re Sprache der Lightning Platform, die in der mandantenf\u00e4higen Cloud-Plattform gespeichert und ausgef\u00fchrt wird. Ich habe geh\u00f6rt, dass dies eine Art von Java ist. Syntaktisch ist Apex \u00e4hnlich wie Java. Wenn Sie in Java programmieren k\u00f6nnen, sind Sie wirklich [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":13798,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"none","_seopress_titles_title":"Was zum Teufel ist dieser ganze Apex-Kram? - Cloudity","_seopress_titles_desc":"In kurzen, nerdigen Worten: Apex ist eine stark typisierte, objektorientierte Programmiersprache.","_seopress_robots_index":"","footnotes":""},"categories":[288],"tags":[250],"class_list":["post-13802","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-development"],"acf":[],"_links":{"self":[{"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/posts\/13802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/comments?post=13802"}],"version-history":[{"count":0,"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/posts\/13802\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/media\/13798"}],"wp:attachment":[{"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/media?parent=13802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/categories?post=13802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudity.com\/de\/wp-json\/wp\/v2\/tags?post=13802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}