Dezvoltați o sută și o parte plug-in 1

Această serie de articole "Dezvoltarea unei sute unu plug-in" este dedicată dezvoltării de plug-in-uri. Dar, înainte de a începe, trebuie să vă asigurați că avem un mediu potrivit pentru acest lucru. Primul pas este să descărcați de pe Eclipse.org distribuția Eclipse cu mediul de dezvoltare plug-in (PDE). Vă recomandăm să descărcați cea mai recentă versiune a Eclipse Classic. În această serie de articole vom folosi versiunea Eclipse V3.4 (M5). (Pentru informații despre unde puteți găsi Eclipse și informații suplimentare, consultați Resurse.)







Pentru a facilita înțelegerea dezvoltării plug-in-ului, vom urma graficul prezentat în figura 1. În prima parte a acestei serii de articole, ne vom concentra pe primele cinci etape ale graficului. Ultimii doi pași sunt lăsați pentru Partea 2, care este dedicată aplicațiilor bogate-client.

Figura 1. Diagrama bloc a procesului de dezvoltare a pluginului

Dezvoltați o sută și o parte plug-in 1

Ce înseamnă OSGi?

În versiunea 3.0, Eclipse a făcut un salt mare prin alegerea OSGi în locul tehnologiei fragile a plug-in-ului Eclipse, care a fost prezentă în versiunile anterioare. Tehnologia OSGi este gestionată de organizația independentă, non-profit OSGi Alliance. Execută aceleași funcții ca Fundația Eclipse. OSGi Alliance este responsabilă de producerea specificațiilor tehnologiei OSGi. Pe scurt, tehnologia OSGi oferă o platformă orientată spre servicii bazată pe plug-in-uri pentru dezvoltarea de aplicații. Una dintre cele mai populare implementări este Equinox, care este o implementare Eclipse a caietului de sarcini. (Consultați Resursele.)

Înainte de a căuta detaliile creării unui plugin, hai să discutăm despre ce este. Din punct de vedere tehnic, plug-in-ul este o arhivă Java ™ (JAR), adică un modul autonom și definit de sine. Este autonom, deoarece conține codul și resursele necesare pentru ca plug-in-ul să funcționeze. Un autodeterminat, deoarece conține informații care indică ce are nevoie de lumea exterioară și ceea ce dă lumii exterioare. În plugin există de obicei o pereche de fișiere descriptive: MANIFEST.MF și plugin.xml.

Să începem cu crearea

Prima parte a procesului de dezvoltare plug-in presupune crearea unui proiect plug-in. În Eclipse, acest lucru se face cu ușurință prin selectarea opțiunii New> Project menu. . În expertul care apare, selectați Proiectul Plug-in ca fiind tipul de proiect de creat.

Figura 2. Expert nou pentru proiectul plug-in

Dezvoltați o sută și o parte plug-in 1

Ca și în cazul oricărui alt proiect Eclipse, expertul vă va cere să selectați numele proiectului. Îți sugerez lumea. Există, de asemenea, posibilitatea de a alege platforma țintă. În acest caz, este doar o versiune țintă a Eclipse sau a unui mediu OSGi, cum ar fi Equinox. Pentru simplitate, vom alege versiunea Eclipse 3.3. Următoarea pagină a expertului New Plug-in Project este dedicată conținutului plug-in-ului.

Dezvoltați o sută și o parte plug-in 1

Asistentul oferă o oportunitate de a genera un activator de pluginuri. Aceasta este doar o clasă care controlează ciclul de viață al plug-in-ului (poate fi reprezentat ca o metodă start-stop). De obicei, activatorul este responsabil pentru instalarea și plasarea corectă a resurselor atunci când pluginul nu mai este utilizat. În acest caz, avem nevoie de un activator, un plug-in care afectează interfața cu utilizatorul și vom crea aplicația platformei Rich Client (RCP) (consultați Resurse).

Figura 4. Șabloane de pluginuri

Dezvoltați o sută și o parte plug-in 1

modificare

În interiorul fișierului MANIFEST.MF

Dacă sunteți interesat de diferitele anteturi disponibile în fișierul MANIFEST.MF, citiți specificațiile OSGi din Alianța OSGi (consultați Resurse).

Dezvoltați o sută și o parte plug-in 1

Extensii și puncte de expansiune

Abundență de puncte de expansiune

Eclipse V3.3 SDK are peste 200 de puncte de extensie. O listă a elementelor extensibile (adică puncte de extensie) a SDK-ului este prezentată în documentul Fundației Eclipse numit "Platform Extension Points" (a se vedea Resurse).







Figura 6. Șabloane de extensie

Dezvoltați o sută și o parte plug-in 1

Pagina de runtime

Figura 7. Pagina de runtime

Dezvoltați o sută și o parte plug-in 1

în funcție de

Destul de pluginuri

În ecosistemul eclipsei există o masă de pluginuri care este ușor de pierdut. Vă recomandăm să începeți cu două site-uri atunci când căutați plug-inuri: lista proiectelor Eclipse Foundation și proiectul Eclipse Plug-in Central (EPIC) (a se vedea resursele).

Figura 8. Pagina Dependențe

Dezvoltați o sută și o parte plug-in 1

Rețineți că, în plus față de dependența de plug-in-urile individuale, puteți depinde de pachetele exportate din plug-in-uri (vedeți secțiunea "Pachete importate" pe pagina următoare). Acesta este un subiect mai complex și este util atunci când nu doriți să asociați plugin-ul cu o implementare specifică. De exemplu, imaginați-vă o dependență de pachetul com.company.xml.parser. care este generat de un parser XML. De exemplu, există două plugin-uri, cum ar fi com.company.xml.parser.mobile și com.company.xml.parser.desktop. care sunt create de două implementări diferite ale aceluiași parser XML, dar pentru medii diferite.

Figura 9. Editarea codului sursă

Dezvoltați o sută și o parte plug-in 1

Testarea și depanarea

Figura 10. Self-hosting în Eclipse

Dezvoltați o sută și o parte plug-in 1

Dezvoltarea plug-in-ului în procesul de testare

Dacă doriți să începeți cu testele înainte de dezvoltarea efectivă a plug-in-ului dvs., puteți crea un plug-in de proiect care conține doar teste. Există o configurație specială pentru a rula JUnit Test Plug-in pentru a rula testele conținute în plug-in-uri.

Pentru a rula modulul dvs. de autocurățire în modul de depanare, faceți clic pe butonul Lansați o aplicație Eclipse în modul de depanare din secțiunea Testarea din pagina Prezentare generală. Pentru a depana plugin-ul, trebuie să setați punctele de întrerupere corespunzătoare. Cei care nu sunt încă familiarizați cu procesul de depanare în Eclipse, recomand să înceapă pentru a citi articolul „Debugging cu platforma Eclipse“ (debug folosind platforma Eclipse) pe developerWorks (a se vedea resurse.).

Pentru a seta opțiuni mai detaliate pentru pornirea sau depanarea plugin-ului, accesați dialogul Configurații lansare, care poate fi accesat utilizând opțiunea Run> Run Configurations. . Un tip adecvat de configurare de lansare pentru plug-in-ul nostru se numește "Eclipse Application", deoarece execută aplicația Eclipse (a se vedea Figura 11). În cadrul configurației de lansare, puteți seta argumentele și controla selecția JRE pentru a rula aplicația.

Figura 11. Dialogul de configurare pornire

Dezvoltați o sută și o parte plug-in 1

Exportarea rândurilor

Pasul obișnuit în dezvoltarea plug-in-urilor este internaționalizarea. Dacă ajungeți la punctul în care plugin-ul dvs. este util și va fi testat de multe altele, vi se va cere să vă asigurați că pluginul poate funcționa într-o limbă străină. Din fericire, munca necesară pentru exportul liniilor corespunzătoare din plugin este minimă. PDE are un expert pe care îl puteți apela făcând clic dreapta pe pagina Prezentare generală a plug-in-ului și selectând din meniul Externalize Strings. . Expertul afișat va afișa toate liniile care urmează să fie exportate.

Figura 12. Expertul pentru exportul rândurilor

Dezvoltați o sută și o parte plug-in 1

De fapt, acesta generează doar fișier plugin.properties (care conține șirurile exportate) pentru dvs. de plug-in și adaugă antetul Bundle-localizare la fișierul MANIFEST.MF. Antetul Bundle-Localizare vă permite să determinați numele și posibila poziție a rândurilor exportate. În acest caz, Bundle-localizare este „plug-in“, ceea ce înseamnă că, pentru diferitele limbi siruri de caractere va fi în astfel de fișiere ca plugin.properties (a se vedea. Figura 13) plugin_fr.properties sau plugin_de.properties. Tot ceea ce se află după sublinierea în numele fișierului înseamnă limba.

Figura 13. Fișierul plugin.properties

Dezvoltați o sută și o parte plug-in 1

Organizarea declarațiilor

În pasul următor, organizați fișierele de declarații (care este MANIFEST.MF și plugin.xml) cu câteva recomandări. PDE are un expert care poate fi apelat prin secțiunea Exportare a paginii Prezentare generală. După pornirea asistentului (vezi Figura 14), veți vedea o serie de opțiuni pe care le puteți personaliza. În mod implicit, totul este foarte rezonabil, dar există câțiva parametri utili, cum ar fi verificarea absenței cheilor inutile în fișierul plugin.properties.

Figura 14. Organizarea declarațiilor

Dezvoltați o sută și o parte plug-in 1

concluzie

Scopul comun al acestui articol a fost de a da o idee despre elementele de bază ale dezvoltării plug-in-urilor cu câteva recomandări practice. Am realizat acest lucru creând un exemplu de plug-in și trecând pe calea tipică în cursul dezvoltării sale. După ce ați stăpânit această cale, simplificați foarte mult dezvoltarea plug-in-urilor, chiar prin respectarea unor proceduri precum organizarea declarațiilor. În a doua parte, ne vom concentra pe utilizarea instrumentelor pentru a dezvolta aplicații bogate pentru clienți și pentru a finaliza stadiile rămase ale dezvoltării plug-in prezentată în Figura 1.

Obțineți produse și tehnologii







Articole similare

Trimiteți-le prietenilor: