Salesforce Lightning vs. Visualforce

Salesforce EntwicklungEntwicklern stehen seit 2015 zwei Technologien zur Verfügung, um Oberflächen für Salesforce-Anwendungen zu gestalten: Nach Visualforce hat Saleforce Lightning präsentiert.

Die Technologie ist nicht als Nachfolger für Visualforce konzipiert, sondern als Ergänzung. Die Nutzung von bekannten UI Frameworks wie AngularJS ist weiterhin möglich. Denn beide haben ihre Stärken und Schwächen.

Inhalt

Visualforce

Visualforce ist eine Oberflächentechnologie, die auf die strikt objektorientierte Sprache Apex für die Ausführung der Geschäftslogik basiert und sich als eine Mischung aus HTML, speziellen Tags, Apex und Javascript beschreiben lässt. Mit ihrer Hilfe lassen sich schnell funktionale Oberflächen in Salesforce entwickeln, die entweder individuell verwendet oder in Salesforce Layouts von Objekten eingebettet werden können.

Das Design der Anwendungen erfüllt allerdings nicht moderne Nutzererwartungen und – ein noch größerer Nachteil – die Oberflächen sind nicht ohne weiteren Entwicklungsaufwand mobilfähig. Dennoch ist die Technologie kein Auslaufmodell. Sie hat einige praktische Vorteile. Zum einen ist sie den Kinderkrankheiten entwachsen und produziert verlässliche Ergebnisse. Zum anderen können Änderungen direkt in der Salesforce Development Console vorgenommen und sofort angesehen werden. Fast jede Webkomponente lässt sich mithilfe von Visualforce abbilden. Von einer Visualforce-Seite kann auf globale Salesforce-Variablen (z.B. derzeit eingeloggter User) zugegriffen und der Code des Visualforce Controllers oder die Integration von JavaScript genutzt werden.

Salesforce Entwicklung mit Visualforce

Visualforce bietet eine Reihe von Features, die die Arbeit des Entwicklers enorm beschleunigen, zum Beispiel für das Erstellen von HTML-Elementen oder das Rendern. Über Tags können viele HTML-Elemente erstellt werden, ohne eine Zeile Code anzufassen und beim Rendern erkennt Visualforce automatisch den richtigen Datentyp. Visualforce bereitet außerdem bei Updates und Releasewechseln in der Regel keine Probleme, da die Seiten als Metadaten abgelegt und somit nicht neu geschrieben werden müssen, wenn Teile der Force.com-Plattform aktualisiert werden.

UI Generation

  • server-seitig

Workflow

  • Der Nutzer fordert eine Seite an.
  • Der Server führt den der Seite zugrunde liegenden Code aus und sendet das Ergebnis als HTML an den Browser.
  • Der Browser zeigt die HTML-Seite an.
  • Interagiert der Nutzer mit der Seite, beginnt der Zyklus von vorn.

Vorteile

  • Tried-and-true-Modell
  • Leicht zu implementieren
  • Große Applikationen werden automatisch in kleine handhabbare Seiten aufgesplittet
  • Metadaten-Integration
  • Dank Visualforce Components lassen sich größere Seiten in kleinere, widerverwendbare Komponenten unterteilen

Nachteile

  • Begrenzte Interaktivität (abgesehen von ergänzter JavaScript-Funktionalität)
  • Höhere Latenz

Salesforce Lightning

Salesforce Lightning ist ein Design System und Framework für Entwicklungen auf der Salesforce1 Platform. Entwickler können das Lightning Design System, den Lightning App Builder und die Lightning Components verwenden, um moderne und intuitiv nutzbare Anwendungen zu entwickeln.

Lightning Experience verbessert die Usability von Salesforce über alle Endgeräte hinweg. Das Design erleichtert es, Informationen schnell zu finden und Prozesse noch effizienter zu gestalten. Denn den Nutzern gelingt es schnell, sich auf der klar strukturierten Oberfläche zu orientieren. Die Usability entspricht Standards, die Anwender aus ihrem privaten Umfeld gewohnt sind. Customizing und Modifikationen können ohne größeren Aufwand für jeden Kanal durchgeführt werden.

Salesforce Lightning

Salesforce Lightning als Zukunft des CRM (salesforce.com)

Auch individuelle Anwendungen lassen sich effizient umsetzen. Denn viele Komponenten sind bereits vorentwickelt und können per Drag and Drop aus einer umfangreichen UI-Bibliothek zusammengefügt werden.

Indem Entwickler auf Lightning Komponenten und AppExchange zugreifen können, wird die Entwicklungszeit verkürzt und Kosten werden gesenkt.

Salesforce stellt Entwicklern außerdem Styleguides und Best Practices zur Verfügung, sodass Sie eine hohe Standardisierung und Qualität Ihrer Entwicklung erreichen können.

UI Generation

  • client-seitig

Workflow

  • Der Nutzer ruft eine Applikation oder Komponente auf.
  • Die Applikation oder das Component Bundle wird an den Client zurückgespielt.
  • Der Browser lädt Anwendung oder Bundle.
  • Die Java-Applikation generiert das UI.
  • Wenn der Nutzer mit der Seite interagiert, modifiziert JavaScript die Seite (wie im vorherigen Schritt).

Vorteile

  • schafft interaktive und immersive User Experience
  • harmonisiert mit Salesforce UI-Strategie
  • basiert auf Metadaten und erzeugt so eine integrierte Entwicklererfahrung
  • Die Developer Console unterstützt Salesforce Lightning Components

Nachteile

  • höherer initialer Einarbeitungsaufwand im Vergleich zu Visualforce
  • höhere Komplexität als Visualforce – es werden Applikationen, keine Seiten entwickelt
  • einige Features werden (noch) nicht unterstützt
  • die Zahl der vorentwickelten Komponenten ist begrenzt

Vergleich: Salesforce Lightning – Visualforce

Der Vergleich zeigt: Eine Technologie ohne Schwächen existiert nicht. Je nach Anwendungsfall ist die eine oder andere jedoch vorzuziehen. Hier einige Richtlinien für die Entscheidungsfindung.

Wann sollte Lightning verwendet werden?

  • Wenn Sie eine mobile Anwendung für Salesforce1 entwickeln, sollten Sie Salesforce Lightning verwenden. Denn der seitenzentrierte Ansatz von Visualforce ist nicht geeignet für Apps mit begrenzten Netzwerkverbindungen, hoher Latenz und limitierten Rechenkapazitäten. Lightning Components ist dagegen speziell für diesen Kontext entwickelt worden.
  • Wenn Sie eine Anwendung mit hoher Interaktivität auf JavaScript-Basis entwickeln, sollten Sie Salesforce Lightning verwenden.
  • Wenn weniger technikerfahrene Anwender in die Lage versetzt werden sollen Apps aufzusetzen, sollten Sie Lightning App Builder für die Entwicklung von Standardfunktionalitäten und Lightning Components für die Integration benutzerdefinierter Komponenten wählen. Wenn die benötigten Komponenten noch nicht zur Verfügung stehen, greifen Sie auf Visualforce zurück. Wenn Sie zum Beispiel ein UI-Element, zum Beispiel einen Button, hinzufügen wollen, ist dies eine einfach Drag-and-drop-Aufgabe, die im Lightning App Builder erledigt werden kann.
  • Wenn Sie für einen Kunden eine Community aufsetzen, nutzen Sie den Community Builder, damit die Community Lightning Components unterstützt.
  • Wenn Sie die neueste Technologie verwenden wollen und gerade eine neues Projekt beginnen, nutzen Sie Lightning Components. Es wird sich auszahlen, sich bereits jetzt mit der Technologie vertraut zu machen.

Wann sollten Sie Visualforce verwenden?

  • Wenn Sie eine seitenzentrierte Lösung mit begrenzter client-seitiger Logik erstellen wollen, nutzen Sie Visualforce.
  • Wenn Sie ein JavaScript nutzen wie AngularJS oder React, nutzen Sie weiter Visualforce.
  • Wenn Sie eine interaktive Anwendung auf JavaScript-Basis entwickeln wollen und das Framework von Dritten verwenden müssen, nutzen Sie Visualforce als Container für das Framework.
  • Wenn Sie eine Community für Partnerunternehmen aufsetzen, nutzen Sie für Salesforce Classic Visualforce. Testen Sie den Einsatz von Lightning Components mit Lightning Components für Visualforce.
  • Wenn Sie mit einer nicht authentifizierten Website arbeiten, nutzen Sie Visualforce. Lightning Components unterstützt (noch) keine anonymen Nutzerkontexte.
  • Wenn Sie Seiten als PDF in Ihrer Anwendung rendern wollen, nutzen Sie Visualforce. Lightning Components unterstützen das Rendern von PDF-Dateien noch nicht.
  • Wenn Sie an einem bestehenden Projekt mit vielen Visualforce-Seiten entwickeln, nutzen Sie zunächst weiter Visualforce. Sie sollten mittelfristig jedoch einen Wechsel zu Lightning Components in Erwägung ziehen.

Fazit

Obwohl derzeit beide Technologien von Salesforce unterstützt werden und (noch) ihre Berechtigung haben, geht die Entwicklung aufgrund der zunehmenden Bedeutung von mobile Applikationen klar Richtung Lightning. Daher ist es für Entwickler dringend zu empfehlen, sich zumindest mit den Grundlagen von Lightning Components  vertraut zu machen.

Bisher befindet sich Salesforce Lightning allerdings noch im Beta-Stadium und enthält viele Bugs. Gleichzeitig ist die API noch nicht so ausgereift wie bei Visualforce. Daher empfiehlt es sich, Lightning zurzeit eher für kleinere Applikationen zu verwenden, die für sich allein stehen können. Für größere Applikationen oder Seiten ist aktuell weiter Visualforce in Verbindung mit modernen UI Frameworks wie Bootstrap oder AngularJS die empfehlenswertere Technologie.

Salesforce Lightning vs. Visualforce - Kontakt, Produkte und Dienstleistungen, gratis E-Book
Robert Richter, Fachbereichsleiter

Sie suchen Unterstützung in der Salesforce Entwicklung oder ganz speziell bei einer Herausforderung bezüglich Visualforce oder Lightning? Kein Problem – wir helfen Ihnen gerne, egal ob bei Technologieauswahl, Projektkonzeptionierung oder -umsetzung – wir sind Ihr Salesforce Partner. Kontaktieren Sie uns über info@mind-force.de oder nehmen Sie unsere kostenlose Telefonberatung in Anspruch.

Unter folgendem Link finden Sie einen Überblick zu unseren Produkten und Dienstleistungen. Sie möchten sich auf eigene Faust weiter ins Thema einarbeiten? Folgendes kostenlose E-Book haben wir für Sie zusammengestellt:

E-Book Salesforce Entwicklung


SHARE
nach oben


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.