inhire.ioBlogInneUniwersalne aplikacje webowe w Salesforce

Uniwersalne aplikacje webowe w Salesforce

Inne
Praca w IT
19/03/2020

Rozmowa z Grzegorzem Kończakiem, Programistą, pasjonatem Javy oraz web developmentu. Od ponad dwóch lat związany z PWC jako Developer Salesforce.

PwC od wielu lat zajmuje się projektami z branży IT. Jednym z obszarów naszyej specjalizacji jest platforma Salesforce. PwC IT Services zajmuje się wdrażaniem i dostosowywaniem platformy pod konkretne potrzeby klienta. W sumie  nasi specjaliści posiadają ponad 400 certyfikatów Salesforce, które na bieżąco są uaktualniane. Obecnie można nas znaleźć w Warszawie, Łodzi, Lublinie, Wrocławiu i w Pradze.

Od początku istnienia, czyli od1999 roku Salesforce stawiał na nowoczesne rozwiązania. Jest to system CRM (customer relationship management), który funkcjonuje w oparciu o architekturę w chmurze. Stabilność platformy jest niezwykle istotna i sięga 99.9% rocznie (tzw. up-time).

Czym jest Salesforce?

Aby lepiej zrozumieć czym jest Salesforce, warto wspomnieć o dwóch kwestiach. Po pierwsze, dostosowywanie platformy pod danego klienta. Salesforce daje bardzo wiele elastyczności. Klient, który chciałby mieć sprawny system z pudełka z minimalnie dostosowanymi funkcjami może taki produkt otrzymać w kilka godzin. Z drugiej strony, jeśli mamy do czynienia z klientem potrzebującym dostosować platformę dla swojego biznesu prowadzonego na całym świecie, z mnóstwem specyficznych zasad i procesów, Salesforce również będzie tu odpowiednim wyborem.

Druga sprawa to sposób, w jaki Salesforce podchodzi do kształcenia swoich specjalistów. Każdy, kto chce zacząć się uczyć, jak korzystać z tej platformy, może to zrobić w dowolnym miejscu i czasie. Udostępniona do naszego użytku zostaje cała dokumentacja techniczna w postaci technicznych artykułów na stronach Salesforce. Dodatkowo, mamy możliwość korzystania z trailheadów – specjalnych ścieżek naukowych traktujących o wszystkich aspektach platformy. Są tam dostępne ścieżki zarówno dla administratorów, konsultantów, jak i developerów na każdym dostępnym poziomie trudności.

Przeczytaj także – Historie kobiet, które odmieniły świat IT.

Obszary rozwoju

W tym miejscu warto wspomnieć o technologiach, bez których możliwości dostosowywania nie byłyby tak duże. Salesforce promuje dwie rzeczy – jednocześnie to system, który dostosuje się do każdego. Z drugiej strony nie zawsze potrzebny jest developer. Dzięki specjalistycznym narzędziom wiele procesów biznesowych można zaimplementować bez konieczności pisania choćby linijki kodu. Jeśli jest jednak potrzebna gruntowna przebudowa dostajemy do użytku język programowania Apex, Visualforce czyli front-endowy język dla Salesforce, komunikacja SOAP i REST oraz wiele innych.

Poza samym rdzeniem platformy, Salesforce ma również wiele innych ciekawych obszarów, którym można się poświęcić. Rozwiązana z rodziny IOT (Internet of Things) połączone z chmurą dają niesamowite możliwości. Rozwiązania typu Wave Analitics czy Einstein wchodzące w skład „inteligentnych” pakietów mogą zapewnić potencjalnemu specjaliście dużo większą ekspozycję na zagadnienia z dziedziny sztucznej inteligencji czy Machine Learning. Osoby znające doskonale Service lub Sales Cloud mogą być pomostem pomiędzy biznesem a developerem. Marketing Cloud zapewniający swobodną komunikację marketingową. Każda z tych specjalizacji musi oczywiście być poparta ogólną znajomością platformy, jak i zasad pisania oprogramowania.

Krótka historia standardów sieciowych

W ostatnich latach standardy internetowe oferowały jedynie ograniczoną bazę dla pełnego stosu, którego programiści potrzebują do tworzenia aplikacji internetowych na dużą skalę: silnika renderowania, standardowych elementów, zdarzeń i języka podstawowego (ECMAScript 5). Oznaczało to między innymi, że renderowanie wyświetlanych elementów nie było zoptymalizowane pod kątem ciągłej transformacji interfejsu użytkownika. W języku podstawowym brakowało również nowoczesnych konstrukcji do pisania dużych i modułowych aplikacji klasy korporacyjnej po stronie klienta (moduły, klasy, obietnice, dekoratory itp.).

Jakie były konsekwencje tak wyglądającego stosu? Proliferacja i fragmentacja frameworków. Głównym zadaniem frameworku staje się uzupełnianie braków w standardach. Pomimo tego, że powstające na nowo frameworki były JavaScriptem, stawały się one efektywnie nowymi językami. To oznaczało, że pojawiały się braki wśród specjalistów wielozadaniowych mogących poradzić sobie z większą ilością technologii. Aplikacje i komponenty napisane przy pomocy odmiennych podejść nie współpracowały ze sobą.

Taki stan rzeczy doprowadził nas do dnia obecnego oraz renesansu standardów. Fragmentacja podkreśliła potrzebę standaryzacji i tchnęła nowe życie w społeczności standardów sieciowych.

Współczesne rozwiązanie

Co możemy powiedzieć o stacku webowym z 2020? Rdzeń stosu w końcu otrzymał aktualizację, która była niezbędna, by stać się platformą do tworzenia aplikacji. Brak potrzeby własnościowego modelu komponentów. Brak potrzeby własnościowych rozwiązań rozszerzeń języka. Brak potrzeby własnościowych modułów. Dużo większa waga standardów względem frameworków.

Jak Salesforce korzysta z nowego paradygmatu? Lightning Web Components to implementacja lekkiego frameworku nowej generacji opartego na standardach sieciowych. Wykorzystuje niestandardowe elementy, szablony, shadow DOM, dekoratory, moduły i inne nowe konstrukcje językowe dostępne w ECMAScript 7 i późniejszych. Jednocześnie w pakiecie otrzymujemy zestaw 70 komponentów UI i narzędzia do łatwego łączenia wszystkiego z Salesforce.

Podsumowując powyższe, Lightning Web Components (LWC) to lekki framework Salesforca oparty o standardy sieciowe w 2020 roku. LWC to prosta konstrukcja. I w tej prostocie leży piękno rozwiązania oparte o standardy. Łącznie na LWC składają się trzy pliki – jeden html, jeden javascript i jeden plik meta z konfiguracją. I już same dwa pierwsze pliki napawają optymizmem. Jedne z najbardziej rozpoznawanych rozszerzenie w świecie front developmentu – html, javascript.

W jednym miejscu dostajemy kompletną dokumentację, referencje do wszystkich komponentów i wiele więcej. Każdy komponent jest zaprezentowany zarówno w kodzie .js oraz .html. Każdy jest również zaprezentowany wizualnie. Dodatkowo w każdej chwili można włączyć „Playground” (nawet z poziomu dowolnego komponentu) i korzystać z tymczasowego środowiska developerskiego dającego natychmiastowy feedback jak nasza aplikacja/komponent się zmieniają.

Posłuchaj naszego Praktycznego podcastu.