12 Jun Ce naiba e asta tot Apex lucruri?
În scurt tocilar cuvinte, Apex este un puternic tastat, orientat-obiect limbaj de programare. Este un limbaj proprietar al platformei Lightning care este salvat și rulat în platforma cloud multi-chiriaș.
am auzit că acesta este un fel de Java
sintactic, Da, Apex este similar cu Java., Dacă puteți programa în Java, sunteți foarte aproape de a fi un Dezvoltator Apex! Dar nu, acest lucru nu este Java. Este compilat ca Java, are o mașină virtuală Java în fundal – undeva – dar nu este un VM cu drepturi depline, ci doar o parte din acesta.
Dacă sunteți cu adevărat interesați în detalii – ei bine, acestea sunt doar intern la Salesforce, dar poate să scoată niște detalii în acest brevet: Brevet US20110264861: Metode și sisteme pentru utilizarea bytecode într-o asupra cererii de servicii de mediu, inclusiv furnizarea de multi-chiriaș runtime medii si sisteme.,
am auzit că în Apex nu pot face X, Y și Z – de ce ar trebui să-mi pierd timpul citind despre un limbaj ciudat!
puteți trata la un nivel înalt ca o versiune simplificată a Java.
dar hei, chiar ai nevoie de ArrayList, LinkedList, stivă, Vector, TreeSet, LinkedHashSet, HashSet, HashMap, TreeMap, și multe altele doar pentru a stoca unele înregistrări?
în Apex Există listă, Set și hartă. Ușor de ales, ușor de utilizat!
aceasta este o limbă pentru a face munca. Și da, puteți face injecții de dependență dacă doriți.,
potrivit Salesforce: Apex este exclusiv pentru construirea de aplicații de afaceri pentru a gestiona datele și procesele în contextul mai larg al cadrului platformei Apex Lightning. Dar, în cadrul aplicațiilor de afaceri, Apex Code oferă o abordare unică puternică și productivă pentru crearea funcționalității și logicii, permițând dezvoltatorilor să se concentreze doar pe elementele specifice aplicației lor, lăsând în același timp restul „instalațiilor sanitare” în cadrul platformei.
pretenție destul de puternică! Nu este doar un marketing? Nu!,
dar vă rog, dacă doriți cu adevărat să vă petreceți 95% din timp configurând servere, baze de date, microservicii, interfețe, gateway-uri, echilibratoare de încărcare, backup și implementare.. Oh și da, securitate și redundanță-alegeți o altă limbă și o altă platformă.
Apex este:
- Integrat cu baza de date – puteți face inline interogări și bucle, de exemplu, aduce Id-ul și Numele de Contact de Masă (1), care are adresa de corespondență în Polonia, dar vă rugăm să se alăture Cont Masă (2) și alege numai Contactele în Conturi, care a fost „moale” în numele., Repetați lista, introduceți modificările (3) și apoi împingeți actualizarea înapoi în baza de date (4). Cât de mult trebuie să faceți într-o altă limbă? Verifică asta!
- Particularizate, puteți avea mai multe clase de asteptare reciproc și toate aceste clase poate rula în propria lor versiune – da, 10 ani Apex poate co-de lucru cu cei lucios caracteristici de brand nou pe care tocmai ați construit! Și aveți 3 lansări mari pe an. Fiecare versiune = caracteristici noi.,
- ușor de utilizat – sintaxa este similară cu Java, metodele Apex sunt bine documentate și există o comunitate foarte puternică în jurul ei.
- riguros-Apex este puternic tastat și compilat. Ea nu reușește rapid la momentul compilării în cazul în care orice referințe sunt nevalide. Stochează toate dependențele de câmp, obiect și clasă personalizate în metadate pentru a se asigura că acestea nu sunt șterse în timp ce sunt solicitate de codul Apex activ. Deci-nimeni nu va șterge o coloană din Baza de date dacă o utilizați!,
- tranzacțional – toate operațiunile DML dintr – o tranzacție fie se finalizează cu succes, fie, dacă apare o eroare într-o singură operație, întreaga tranzacție este derulată înapoi și nu există date angajate în baza de date-automat!
- Packable – puteți împacheta codul și vinde-l pe AppExchange – Sau pur și simplu apucați câteva componente gata și reutilizați-le în instanță.
dacă trebuie cu adevărat, unde îl pot folosi?
într – un singur cuvânt-întregul backend! Și care este backend – ul pentru Salesforce?,puteți utiliza blocuri anonime, compilate și executate în zbor, care nu sunt stocate nicăieri.
doriți să remediați rapid datele? Nicio problemă! Trimiteți niște e-mailuri? Dă-i drumul!
declanșează:
da, aceeași limbă! Declanșatoarele Apex vă permit să efectuați acțiuni personalizate înainte sau după modificările înregistrărilor Salesforce, cum ar fi inserții, actualizări sau ștergeri.
controlere în modele MVC:
Da, din nou. Aceeași limbă. Apex.
REST Web Services și SOAP Web Services:
de ce nu? Expuneți datele pe care le doriți, pe regulile pe care le doriți cu OAuth2.,0 sau autentificare complet personalizată. În câteva linii de cod! Aici avem un punct final „cont” în care treceți Id-ul prin URI și obțineți câteva detalii suplimentare despre acesta.
procesarea e-mailului:
puteți expune o adresă de e-mail în Salesforce și puteți efectua orice procesare de e-mail personalizată. De exemplu: Dacă primiți un e-mail și nu aveți un Contact Conectat cu acel e-mail, puteți crea unul.
dezvoltare bazată pe evenimente:
Da! Da! Da! Ai un autobuz eveniment la nivel de întreprindere pe care le puteți utiliza doar în codul! A spus cineva „Kafka”?,Salesforce Evergreen aduce funcții fără server bazate pe Kubernetes bazate pe Kubernetes, suport pentru limbaje de programare deschise și magazine de date de înaltă performanță utilizate în mod obișnuit. Evergreen sprijină tehnologii și modele arhitecturale, cum ar fi:
- funcții-as-a-Service (nod.js, Java, și Apex)
- Microservices
- date Gestionate magazine (Postgres, Apache Kafka, și Redis)
Da, frumos, strălucitor lucruri pe care urâtă Salesforce platforma! Poate nu atât de rău în cele din urmă?
am auzit că dezvoltatorii urăsc!,
Apex impune bune practici de programare de 2 core design caracteristici:
- test-executată de implementare
- guvernatorul limite
Deci, da, dacă nu vă place de testare și scris optimă cod, nu va place, îmi pare rău!
testare!
este ușor de testat, Apex a primit suport încorporat pentru crearea și execuția testului unității, știți exact ce linie este acoperită și care necesită o atenție suplimentară. Puteți bate joc de servicii externe, astfel încât, de asemenea, integrările API REST și SOAP API pot fi bine acoperite.,
și – pur și simplu nu puteți împinge codul la producție dacă cel puțin 75% din cod nu este testat în unitate! Ura!!!
limite de guvernare!
îți place să scrii interogări de baze de date în buclă? Vei fi pedepsit!vă place să interogați întregul tabel de baze de date dacă aveți nevoie doar de 2 câmpuri în 4 înregistrări din 10 milioane-tabel de înregistrări cu 500 de coloane? Vei fi pedepsit!
îți place să folosești algoritmi O(n^4)? Da, vei fi pedepsit!dar hei, puteți începe pur și simplu să scrieți un cod bun!, Pentru ca Apex se execută într-un multitenant mediu, Apex motor de execuție strict impune limite, astfel încât fugar Apex cod sau procese nu monopoliza resursele partajate. Dacă un cod Apex depășește limita, guvernatorul asociat emite o excepție de rulare care nu poate fi gestionată.
există posturi de muncă acolo pentru toată această Apex?
Ei bine, știu destul de mulți oameni care au fost de programare în Java și a intrat în lumea Salesforce. Nu-mi amintesc nici o părăsire Salesforce pentru Java. Hmm …
bani? Interesantă slujbă? Diverse misiuni? Aplicații diferite?, Nici o idee care este motivul! de obicei, spunem că avem pe cineva numit Dezvoltator Salesforce. O astfel de persoană lucrează în principal cu backend – Da, Apex. Dar, majoritatea dezvoltatorilor seamănă mai mult cu „ninjas” – avem o mulțime de frontend în Salesforce sub formă de componente Web Lightning (modern web Component framework), componente Lightning (un pic mai vechi, bazate pe Aura framework) sau pagini Visualforce (model MVC)., Când lucrați cu Salesforce, vă extindeți cunoștințele nu numai despre Apex (un puternic limbaj de programare orientat pe obiecte backend), ci și despre JavaScript, HTML5, CSS3 și tehnologiile web moderne.
OK, deci pot să-l învăț undeva fără să plătesc mulți bani?
Salesforce are o ediție pentru dezvoltatori care este gratuită!
există, de asemenea, o platformă Trailhead https://trailhead.salesforce.com/ unde puteți învăța de la începător la nivel de arhitect gratuit!, Această platformă de învățare este puternic gamificată cu subiecte din viața reală, împărțită în părți ușor digerabile 15-20 min.și doar google it – există o mulțime de materiale de înaltă calitate disponibile la îndemână!