Darba sākšana ar Eclipse platformu. Java programmatūras platformu iezīmes. Es vēlos pievienoties kopienai. Kā to izdarīt

- bezmaksas ietvars modulāru starpplatformu lietojumprogrammu izstrādei.

Projekts sākotnēji tika izstrādāts gadā IBM kā korporatīvs IDE standarts izstrādei dažādās valodās IBM platformām. Pēc tam projekts tika pārdēvēts un nodots kopienai turpmākai attīstībai.

Pirmkārt, pabeigt Java IDE, kas vērsts uz grupu attīstību, aprīkots ar rīkiem darbam ar versiju kontroles sistēmām (CVS atbalsts ir iekļauts Eclipse izplatīšanā, tiek aktīvi izstrādātas vairākas SVN moduļu versijas, ir atbalsts VSS un citiem). Sakarā ar bezmaksas Daudzās organizācijās Eclipse ir korporatīvais standarts lietojumprogrammu izstrādei.

Otrā tikšanās- kalpo kā platforma jaunu paplašinājumu izstrādei (tāpēc tā ir ieguvusi popularitāti – jebkurš izstrādātājs var paplašināt Eclipse ar saviem moduļiem). Tā viņi kļuva C/C++ izstrādes rīki(CDT), ko izstrādājuši QNX inženieri kopā ar dažādu izstrādātāju IBM, COBOL, FORTRAN, PHP rīkiem. Daudzi paplašinājumi papildina Eclipse ar pārvaldniekiem darbam ar datu bāzēm, lietojumprogrammu serveriem utt.

Kopš versijas 3.0 Eclipse ir kļuvusi par paplašinājumu kolekciju, nevis monolītu IDE, kas atbalsta paplašinājumus. Tā ir balstīta uz OSGi un SWT/JFace ietvaru, uz kura pamata ir izstrādāts nākamais slānis - platforma pilnvērtīgu klienta aplikāciju izstrādei RCP (Rich Client Platform – (angļu valodā rich-client applications). RCP platforma kalpo par pamatu tādām RCP lietojumprogrammām kā Azareus un File Arranger. Nākamais slānis ir Eclipse platforma, kas ir RCP paplašinājumu kopums – redaktori, paneļi, perspektīvas, CVS modulis un Java izstrādes rīku (JDT) modulis.

Uzrakstīts uz Java, tāpēc tas ir no platformas neatkarīgs produkts, izņemot SWT bibliotēku, kas ir izstrādāta visām izplatītākajām platformām. SWT bibliotēka tiek izmantota "lēnā" Swing vietā un ir pilnībā atkarīga no pamatā esošās platformas (operētājsistēmas), kas nodrošina ātrumu un dabisku izskats lietotāja interfeiss.

Eclipse pamatā ir bagātīgā klienta platforma (RCP). Tas sastāv no šādām sastāvdaļām:


  • OSGi (standarta paku piegādes vide);
  • SWT (portable widget toolkit);
  • JFace (failu buferi, darbs ar tekstu, );
  • Eclipse darba vide (paneļi, redaktori, projekcijas, burvji).
  • GUI ir rakstīts, izmantojot SWT rīku komplektu. Pēdējais, atšķirībā no Swing (kas atdarina tikai atsevišķus izmantotās platformas grafiskos elementus), faktiski izmanto grafiskie komponenti no šīs sistēmas. Eclipse lietotāja interfeiss ir atkarīgs arī no GUI starpprogrammatūras, ko sauc par JFace, kas ļauj viegli izveidot uz SWT balstītu lietotāja interfeisu.

    Elastību nodrošina spraudņi, kas ļauj attīstīties ne tikai Java, bet arī citās valodās, piemēram, C/C++, Perl, Ruby, Python, PHP, ErLang un citās.

    Lokalizācija

    Kopš versijas 3.1.1, ir izlaista valodu pakotne rusifikācijai. Krievu valodā tulkots kā GUI un dokumentāciju.

    Videi ir pieejami vairāki bezmaksas un komerciāli moduļi. Ietvars sākotnēji tika izstrādāts Java valodai, taču tagad ir pieejami daudzi paplašinājumi citu valodu atbalstam, piemēram,

    • C/C++ — CDT Eclipse C/C++ izstrādes rīki
    • Perl - EPIC modulis, Eclipse Perl integrācija
    • PHP - PDT PHP izstrādes rīki
    • JavaScript — JS Eclipse Java skripta spraudnis Eclipse videi
    • Python — Pydev, Python izstrādes vide
    • Rubīns — RDT, Rubīna izstrādes rīki

    Ir arī moduļi grafisko saskarņu izveidei.

    Lai izstrādātu un saņemtu pārskatus un izstrādātu analītiskos BI lietojumprogrammas, ir lv:BIRT_Project t.

    Ir iebūvēta funkcija moduļu instalēšanai un atjaunināšanai, izmantojot .

    Aptana(aptana.com) — Eclipse izplatīšana un spraudnis, kas atbalsta izstrādi ar izmantojot JavaScript(izplatījumā ir iekļautas visas galvenās JS Ajax bibliotēkas), HTML, CSS, Ruby on rails, Adobe AIR.

    Atstājiet savu komentāru!

    ) par izpildlaika vides arhitektūru tika izvēlētas OSGi pakalpojumu platformas specifikācijas. Kopš versijas 3.0 Eclipse vairs nav monolīts IDE, kas atbalsta paplašinājumus, un pats par sevi ir kļuvis par paplašinājumu kolekciju. Tas ir balstīts uz OSGi ietvaru un SWT/JFace, uz kura pamata tika izstrādāts nākamais slānis - RCP (Rich Client Platform, platforma pilnvērtīgu klientu aplikāciju izstrādei). RCP kalpo par pamatu ne tikai Eclipse, bet arī citām RCP lietojumprogrammām, piemēram, Azureus un File Arranger. Nākamais slānis ir pats Eclipse, kas ir RCP paplašinājumu komplekts - redaktori, paneļi, perspektīvas, CVS modulis un Java izstrādes rīku (JDT) modulis.

    Kopš 2006. gada Eclipse Foundation ir koordinējis ikgadēju vienlaicīgu izlaišanu, kas notiek jūnijā. Katrā laidienā ir iekļauta Eclipse platforma, kā arī vairāki citi Eclipse projekti.

    Atbrīvot datums Platformas versija Projekts
    Neona 2016. gada 22. jūnijs 4.6
    Marss 2015. gada 25. jūnijs 4.5
    Luna 2014. gada 6. jūnijs 4.4
    Keplers 2013. gada 26. jūnijs 4.3
    Juno 2012. gada 27. jūnijs 3.8 un 4.2
    Indigo 2011. gada 22. jūnijs 3.7
    Helios 2010. gada 23. jūnijs 3.6
    Galileo 2009. gada 24. jūnijs 3.5
    Ganimēds 2008. gada 25. jūnijs 3.4
    Eiropa 2007. gada 29. jūnijs 3.3
    Kalisto 2006. gada 30. jūnijs 3.2
    Aptumsums 3.1 2005. gada 28. jūnijs 3.1
    Eclipse 3.0 2004. gada 28. jūnijs 3.0

    Priekšrocības

    Eclipse galvenokārt kalpo kā platforma paplašinājumu izstrādei, tāpēc tas ir ieguvis popularitāti: jebkurš izstrādātājs var paplašināt Eclipse ar saviem moduļiem. Jau ir pieejami Java izstrādes rīki (JDT), C/C++ izstrādes rīki (CDT), ko izstrādājuši QNX inženieri kopā ar IBM, un rīki valodām Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT). ) utt. no dažādiem izstrādātājiem. Dažādi paplašinājumi papildina Eclipse vidi ar pārvaldniekiem darbam ar datu bāzēm, lietojumprogrammu serveriem un citiem.

    Eclipse JDT (Java Development Tools) ir slavenākais modulis, kas paredzēts grupu attīstībai: vide ir integrēta ar versiju kontroles sistēmām - CVS, GIT galvenajā izplatīšanā, ir spraudņi citām sistēmām (piemēram, Subversion,). Piedāvā arī atbalstu saziņai starp IDE un uzdevumu (kļūdu) pārvaldības sistēmu. Galvenais izplatījums ietver Bugzilla kļūdu izsekotāja atbalstu, un ir arī daudzi paplašinājumi, lai atbalstītu citus izsekotājus (Trac, Jira utt.). Sakarā ar bezmaksas un Augstas kvalitātes,Eclipse ir korporatīvais standarts lietojumprogrammu izstrādei daudzās organizācijās.

    Eclipse ir rakstīts Java valodā, tāpēc tas ir no platformas neatkarīgs produkts, izņemot SWT bibliotēku, kas ir izstrādāta visām izplatītākajām platformām (skatīt zemāk). Standarta Java Swing bibliotēkas vietā tiek izmantota SWT bibliotēka. Tas pilnībā balstās uz pamatā esošo platformu (operētājsistēmu), kas nodrošina ātru un dabisku lietotāja saskarni, taču dažkārt rada saderības un lietojumprogrammu stabilitātes problēmas dažādās platformās.

    Arhitektūra

    Eclipse pamatā ir Rich Client Platform (RCP). bagāta klientu platforma). Tas sastāv no šādām sastāvdaļām:

  • OSGi (standarta vide komplektu piegādei) saišķos));
  • SWT (portable widget toolkit);
  • JFace (failu buferi, darbs ar tekstu, teksta redaktori);
  • Eclipse darba vide (paneļi, redaktori, projekcijas, burvji).
    • Aperi (no lat. atvērts) - atvērtā koda sistēma tīkla uzglabāšanas sistēmu pārvaldībai.
    • BIRT (biznesa informācijas un atskaišu rīki) — tīmekļa un PDF pārskati.
    • DTP (Data Tools Platform) - uz datiem orientētu sistēmu, jo īpaši datu relāciju datu bāzēs, izstrāde; pārvaldīt programmas ar lielu skaitu savienotāju.
    • GEF (Graphical Editing Framework) ir ietvars iebūvētu grafisko redaktoru izveidei.
    • Jazz ir klienta un servera platforma mijiedarbībai starp izstrādātājiem projekta izstrādes laikā (ietver tērzēšanu, notikumu žurnālu u.c.), kas ir izveidota, izmantojot Eclipse (daļa no IBM Rational produktu līnijas).
    • Modelēšana .
    • Rīki .
    • TPTP (Test & Performance Tools Platform) - testēšanas rīku izstrāde, - atkļūdotāji, profilētāji utt.
    • VE (Visual Editor Project) - GUI rīku izstrāde.
    • WTP (Web Tools Platform Project) — J2EE tīmekļa lietojumprogrammu izstrādes rīki:
      • HTML, JavaScript, CSS, JSP, SQL, XML, DTD, XSD un WSDL redaktori;
      • grafiskie redaktori XSD un WSDL;
      • Web pakalpojumu vedņi un pārlūks, WS-I testa rīki;
      • rīki, lai piekļūtu vaicājumiem un datu bāzes modeļiem un tos izveidotu.
    • Eclipse Communication Framework (ECF) mērķis ir izveidot saziņas lietojumprogrammas Eclipse platformā.
    • Attīstības projekts programmatūra ierīcēm (DSDP).
    • Paralēlo rīku platforma (PTP) nodrošina pārnēsājamu, mērogojamu, uz standartiem balstītu paralēlo rīku platformu, kas atvieglos paralēlām datoru arhitektūrām raksturīgu rīku integrāciju.
    • Embedded Enhanced Client Platform (eRCP) — paredzēts, lai paplašinātu RCP līdz iegultajām ierīcēm. eRCP ietver komponentu kopu, kas ir RCP komponentu apakškopa. Tas ļaus pārsūtīt galddatoros izmantoto lietojumprogrammas modeli uz citām ierīcēm.
    • DLTK (Dynamic Languages Toolkit) ir integrēta izstrādātāja vide dinamiskām programmēšanas valodām.
    • Swordfish ir platforma izplatītu korporatīvo informācijas sistēmu veidošanai.

    Jaunākās versijas

    Eclipse 3.3.2 (Eiropas ziema)

    Jaunu apakšprojektu skaits (gan pārvalda Eclipse Foundation, gan trešās puses) strauji pieaug. Mums ir jāsaskaņo ļoti daudzu izstrādātāju centieni un jāierosina kopīgi noteikumi - “Aptumsuma izstrādes process”.

    Jaunākā versija laidienā iekļauts 21 apakšprojekts.

    Eclipse 3.4 (Ganymede)

    Ganymede izlaidumā (06.2008.) ir iekļauti 23 apakšprojekti:

    • Eclipse projekts 3.4
    • Ekvinokcija 3.4
    • Eclipse Communication Framework Project 2.0.0
    • Eclipse modeļu ietvara tehnoloģija
    • Eclipse Modeling Framework 2.4.0
    • Eclipse Packaging Project 1.0.0
    • Eclipse Web Tools Platform Project 3.0.0
    • Grafiskā redaktora ietvars 3.4.0
    • Grafiskās modelēšanas ietvars 2.1
    • Modeļu izstrādes rīki. 1.1
    • Datu rīku platforma (DTP) 1.6
    • Ierīču programmatūras izstrādes platformas projekts Ierīču atkļūdošana 1.0
    • Ierīču programmatūras izstrādes platformas projektu mērķa pārvaldība 3.0
    • Bakminsteras komponentu komplekts 1.1
    • BIRT 2.3.0
    • C/C++ izstrādes rīks (CDT) 5.0.0
    • Dinamisko valodu rīkkopa 0.95
    • Modelis uz tekstu (M2T) 0.9.0
    • Pārveidošana no modeļa uz modeli (M2M)
    • Mylyn 3.0 (uz uzdevumiem orientēta lietotāja saskarne)
    • Rich Ajax platforma (RAP) 1.1
    • SOA rīki (STP) 1.0
    • Subversīvs — SVN komandas nodrošinātājs
    • Mērķa pārvaldība 3.0
    • Testēšanas un veiktspējas rīku platformas projekts 4.5.0

    Eclipse 3.5 (Galileo)

    Jaunākajā Galileo izlaidumā, kas sabiedrībai tika prezentēts 2009. gada 24. jūnijā, ir iekļauti 33 apakšprojekti:

    • Eclipse platforma 3.5
    • Eclipse Project 3.5.0
    • Eclipse Modeling Framework (EMF) 2.5.0
    • Eclipse iepakojuma projekts 1.1.0
    • Eclipse Web Tools Platform Project WTP 3.1.0 (Galileo)
    • EclipseLink projekts 1.1.2
    • Pieejamības rīku sistēma 0.7.0
    • Biznesa informācijas un atskaišu rīki (BIRT)
    • C/C++ izstrādes rīki (CDT) 6.0
    • Dali Java noturības rīki 2.2
    • Datu rīku platforma 1.7 (Galileo)
    • Dinamisko valodu rīkkopa 1.0
    • Ekvinokcija 3.5
    • GEF — grafiskā redaktora ietvars 3.5.0
    • Grafiskās modelēšanas ietvars 2.2.0
    • Java darbplūsmas rīki JWT 0.6
    • JDT - Java izstrādes rīki
    • M2T JET (Java Emitter Templates) — arī JET2 M2T JET 1.0.0 (Galileo)
    • Atmiņas analizators 0.8.0
    • Mobilie rīki Java
    • Modelis uz tekstu (M2T) 1.0.0
    • Modeļu pārveidošana (M2M) Galileo vienlaicīga izlaišana
    • Uzraudzības rīki 4.6
    • Mylyn 3.2
    • PHP izstrādes rīki 2.1.0
    • Rich Ajax platforma 1.2
    • Platformas Riena projekts 1.1.0.
    • SCA Tools 2.0.0
    • SOA rīki 2.0
    • Avota rediģēšana 3.1.0 (Galileo)
    • Zobenzivs 0.9.0
    • Mērķa pārvaldība 3.1
    • Testēšanas un veiktspējas rīku platformas projekts 4.5.3
    • Testēšanas rīki TPTP v4.6
    • Tekstuālās modelēšanas ietvars org.eclipse.xtext
    • Rīki mobilajām ierīcēm Linux 0.3
    • TPTP platforma TPTP v4.6
    • Izsekošanas un profilēšanas rīki TPTP v4.6

    Lokalizācija

    Sākot ar versiju 3.1.1, ir izlaista valodu pakotne Eclipse rusifikācijai. Gan grafiskais interfeiss, gan dokumentācija ir tulkota krievu valodā.

    Moduļi

    Eclipse videi ir pieejami vairāki bezmaksas un komerciāli moduļi. Ietvars sākotnēji tika izstrādāts Java valodai, taču tagad ir daudz paplašinājumu, lai atbalstītu citas valodas:

    Valoda Modulis
    /C++ CDT
    Fortran Fotrāns
    Perl EPIC
    PHP PDT
    JavaScript JSEclipse
    Python PyDev (Eclipse) ( Angļu)
    Rubīns RDT
    1C V8 1C: uzņēmums DT

    Attīstīt un iegūt ziņojumi un analītisko BI lietojumprogrammu izstrāde Eclipse ir BIRT projekts ( Angļu).

    Eclipse ir iebūvēta funkcionalitāte moduļu instalēšanai un atjaunināšanai internetā.

    Populāras lietojumprogrammas, kuru pamatā ir SWT un RCP

    Atbalstītās arhitektūras un sistēmas

    • HP-UX (HP9000/Motif)
    • Linux (x86, x86-64, PPC, IA-64/GTK 2)
    • Linux (x86/Motif)
    • Solaris 8 (SPARC/GTK 2, motīvs)
    • QNX (x86/Photon)
    • Microsoft Windows (Win32, Win64)
    • Android (ARM)

    Uzrakstiet atsauksmi par rakstu "Eclipse (attīstības vide)"

    Piezīmes

    1. Derils K. Tafts.(Angļu) . ??? (2005. gada 20. maijs). Skatīts 2009. gada 3. septembrī.
    2. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    3. (Angļu) . Skatīts 2009. gada 3. septembrī.
    4. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    5. (Angļu) . Aptumsuma dokumentācija. Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    6. (Angļu) . Aptumsuma dokumentācija. Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    7. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    8. Sergejs Golubevs.. ??? (2005. gada 15. novembris). Skatīts 2009. gada 3. septembrī.
    9. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    10. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    11. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    12. (Angļu) . Skatīts 2009. gada 3. septembrī.
    13. Vladimirs Paramonovs.. Compulenta (2007. gada 31. janvāris). Iegūts 2009. gada 3. septembrī.
    14. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    15. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    16. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    17. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    18. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    19. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    20. . Oficiālā vietne. .
    21. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    22. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    23. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    24. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    25. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    26. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    27. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    28. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    29. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    30. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    31. (Angļu) . Oficiālā vietne (2007. gada jūnijs). Skatīts 2009. gada 3. septembrī.
    32. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    33. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    34. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    35. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    36. (Angļu) . Oficiālā vietne. Skatīts 2011. gada 24. martā.
    37. (Angļu) . . Skatīts 2009. gada 3. septembrī.
    38. (Angļu) . Oficiālā vietne. Skatīts 2009. gada 3. septembrī.
    39. (Angļu) . ???. Skatīts 2009. gada 3. septembrī.
    40. Džošs Fets.(krievu valodā). ??? (2008. gada jūnijs). - PyDev instalēšana programmā Eclipse. Skatīts 2009. gada 3. septembrī.
    41. (Angļu) . ???. Skatīts 2009. gada 3. septembrī.
    42. (10.04.2015).
    43. (krievu valodā). ???. Skatīts 2009. gada 3. septembrī.
    44. (Angļu) . . Skatīts 2009. gada 3. septembrī.
    45. (Angļu) . . Skatīts 2009. gada 3. septembrī.
    46. (Angļu) . ???. Skatīts 2009. gada 3. septembrī.
    47. (Angļu) . ???. Skatīts 2009. gada 3. septembrī.
    48. (Angļu) (nepieejama saite - stāsts) . ???. Skatīts 2009. gada 3. septembrī.
    49. (Angļu) . ???. Iegūts 2009. gada 3. septembrī.

    Saites

    • (Angļu)
    • (Angļu)
    • (angļu valodā) — Eclipse SDK dokumentācija
    • (Angļu)
    • (Angļu)
    • (angļu valodā) — uzlabotā klientu platforma
    • (Angļu)
    • (angļu valodā) IBM
    • IBM (krievu val.)
    • (krievu) IBM
    • (krievu)
    • (angļu valodā) - pabeigtas Eclipse izplatīšanas iespējas dažādām izstrādes jomām (Expert Java, Desktop Java, Server Java, Mobile Java utt.)
    • (krievu) Art.Ļebedeva studija

    Fragments, kas apraksta Eclipse (izstrādes vide)

    Nākamajā dienā Rostovs pavadīja princesi Mariju uz Jaroslavļu un pēc dažām dienām pats devās uz pulku.

    Sonjas vēstule Nikolajam, kas bija viņa lūgšanas piepildījums, tika rakstīta no Trīsvienības. Tas ir tas, kas to izraisīja. Doma par to, ka Nikolass apprecēs bagātu līgavu, veco grāfieni nodarbināja arvien vairāk. Viņa zināja, ka Sonja ir galvenais šķērslis tam. Un Sonjas dzīve Nesen, īpaši pēc tam, kad Nikolaja vēstule, kurā aprakstīta viņa tikšanās Bogučarovā ar princesi Mariju, kļuva arvien smagāka grāfienes mājā. Grāfiene nepalaida garām nevienu iespēju sniegt aizvainojošu vai nežēlīgu mājienu Sonjai.
    Bet dažas dienas pirms aizbraukšanas no Maskavas, visa notiekošā aizkustināta un satraukta, grāfiene, aicinot pie sevis Soniju, pārmetumu un prasību vietā vērsās pie viņas ar asarām un lūdza, lai viņa, upurējot sevi, atmaksātu par visu. tas, kas tika darīts viņas labā, bija saraut viņas saites ar Nikolaju.
    "Es nebūšu mierā, kamēr nedosi man šo solījumu."
    Sonja histēriski izplūda asarās, caur savām šņukstēm atbildēja, ka darīs visu, ka ir gatava uz visu, taču viņa nedeva tiešu solījumu un savā dvēselē nevarēja izlemt, kas no viņas tiek prasīts. Viņai bija jāupurē sevi ģimenes laimei, kas viņu baroja un audzināja. Upurēt sevi citu laimes labā bija Sonjas ieradums. Viņas stāvoklis mājā bija tāds, ka tikai uz upurēšanas ceļa viņa varēja parādīt savus tikumus, un viņa bija pieradusi un mīlēja sevi upurēt. Bet vispirms visās sevis upurēšanas darbībās viņa ar prieku saprata, ka, upurējot sevi, viņa tādējādi paaugstināja savu vērtību savās un citu acīs un kļuva cienīgāka Nikolasam, kuru viņa dzīvē mīlēja visvairāk; bet tagad viņas upurim bija jāsastāv no atteikšanās no tā, kas viņai bija visa upura atlīdzība, visa dzīves jēga. Un viņa pirmo reizi mūžā izjuta rūgtumu pret tiem cilvēkiem, kuri viņai bija devuši labumu, lai vēl sāpīgāk spīdzinātu; Es jutu skaudību pret Natašu, kura neko tādu nebija piedzīvojusi, nekad nebija vajadzīga upurēšana un piespieda citus upurēt sevi un tomēr visi viņu mīlēja. Un Sonja pirmo reizi sajuta, kā no viņas klusās, tīrās mīlestības pret Nikolā pēkšņi sāka augt kaislīga sajūta, kas stāv pāri noteikumiem, tikumībai un reliģijai; un šīs sajūtas iespaidā Sonja neviļus, uzzinājusi no savas atkarīgās noslēpumainās dzīves, atbildēja grāfienei vispārīgi, neskaidriem vārdiem, izvairījās no sarunām ar viņu un nolēma sagaidīt tikšanos ar Nikolaju, lai šajā tikšanās reizē viņa netiktu atbrīvota. viņu, bet, gluži pretēji, uz visiem laikiem piesiet sevi viņam .
    Rostovu pēdējās uzturēšanās Maskavā dienas nepatikšanas un šausmas nomāca tumšās domas, kas viņu nomāca. Viņa priecājās, ka praktiskās darbībās atrada no viņiem glābiņu. Bet, kad viņa uzzināja par prinča Andreja klātbūtni viņu mājā, neskatoties uz visu patieso žēlumu, ko viņa juta pret viņu un Natašu, viņu pārņēma priecīga un māņticīga sajūta, ka Dievs nevēlas, lai viņa tiktu šķirta no Nikolasa. Viņa zināja, ka Nataša mīl vienu princi Andreju un nepārstāja viņu mīlēt. Viņa zināja, ka tagad, sanākuši kopā tik šausmīgos apstākļos, viņi atkal iemīlēs viens otru un ka tad Nikolass viņu savstarpējās radniecības dēļ nevarēs precēties ar princesi Mariju. Neskatoties uz visām šausmām par visu, kas notika pēdējās dienas un pirmajās ceļojuma dienās šī sajūta, šī apziņa par Providences iejaukšanos viņas personīgajās lietās iepriecināja Soniju.
    Savu pirmo dienu rostovieši pavadīja savā ceļojumā Trīsvienības lavrā.
    Viesnīcā Lavra Rostoviem tika iedalītas trīs lielas istabas, no kurām vienā bija princis Andrejs. Ievainotais vīrietis tajā dienā bija daudz labāks. Nataša sēdēja pie viņa. Blakus istabā sēdēja grāfs un grāfiene, cieņpilni runājot ar rektoru, kurš bija apciemojis viņu senos paziņas un investorus. Turpat sēdēja Sonja, un viņu mocīja ziņkārība par to, par ko runā princis Andrejs un Nataša. Viņa klausījās viņu balsu skaņās no aiz durvīm. Atvērās prinča Andreja istabas durvis. Nataša iznāca no turienes ar satrauktu seju un, nepamanot mūku, kurš piecēlās viņai pretī un satvēra viņa labās rokas plato piedurkni, piegāja pie Sonjas un satvēra viņas roku.
    - Nataša, ko tu dari? Nāciet šurp," sacīja grāfiene.
    Nataša nonāca svētībā, un abats ieteica vērsties pēc palīdzības pie Dieva un viņa svētā.
    Uzreiz pēc abata aiziešanas Našata satvēra draudzenes roku un iegāja ar viņu tukšajā istabā.
    - Sonja, vai ne? vai viņš būs dzīvs? - viņa teica. – Sonja, cik es esmu laimīga un cik es esmu nelaimīga! Sonja, mana dārgā, viss ir kā agrāk. Ja vien viņš būtu dzīvs. Viņš nevar... jo, jo... tas... - Un Nataša izplūda asarās.
    - Tātad! ES to zināju! Paldies Dievam,” sacīja Sonja. - Viņš būs dzīvs!
    Sonju sajūsmināja ne mazāk kā viņas draudzene - gan bailes un skumjas, gan personīgās domas, kas nevienam netika izteiktas. Viņa, šņukstot, skūpstīja un mierināja Natašu. "Ja tikai viņš būtu dzīvs!" - viņa domāja. Pēc raudāšanas, sarunām un asaru noslaucīšanas abi draugi piegāja pie prinča Andreja durvīm. Nataša uzmanīgi atvēra durvis un ieskatījās istabā. Sonja stāvēja viņai blakus pie pusatvērtajām durvīm.
    Princis Andrejs gulēja augstu uz trim spilveniem. Viņa bālā seja bija mierīga, acis bija aizvērtas, un varēja redzēt, kā viņš vienmērīgi elpo.
    - Ak, Nataša! – Sonja pēkšņi gandrīz iekliedzās, satverdama māsīcas roku un atkāpjoties no durvīm.
    - Kas? Kas? – Nataša jautāja.
    "Tas ir tas, tas, tas..." sacīja Sonja ar bālu seju un trīcošām lūpām.
    Nataša klusi aizvēra durvis un devās kopā ar Soniju pie loga, vēl nesapratot, ko viņi viņai saka.
    "Vai jūs atceraties," Sonja sacīja ar izbiedētu un svinīgu seju, "vai atceries, kad es tevi meklēju spogulī... Otradnoje, Ziemassvētku laikā... Vai atceries, ko es redzēju?
    - Jā jā! - Nataša teica, plaši atverot acis, neskaidri atceroties, ka Sonja pēc tam kaut ko teica par princi Andreju, kuru viņa redzēja guļam.
    - Vai tu atceries? – Sonja turpināja. "Toreiz es to redzēju un teicu visiem, gan jums, gan Dunjašai." "Es redzēju, ka viņš guļ uz gultas," viņa teica, ar roku ar paceltu pirkstu izliekot žestu pie katras detaļas, "un ka viņš bija aizvēris acis un ka viņš bija pārklāts ar rozā segu, un viņš bija salicis rokas,” Sonja sacīja, pārliecinoties, ka, aprakstot detaļas, ko viņa redzēja tagad, tās pašas detaļas viņa redzēja toreiz. Toreiz viņa neko neredzēja, bet teica, ka redzēja to, kas viņai ienāca galvā; bet tas, ko viņa toreiz izdomāja, viņai šķita tikpat derīga kā jebkura cita atmiņa. To, ko viņa toreiz teica, ka viņš atskatījās uz viņu un smaidīja un bija pārklāts ar kaut ko sarkanu, viņa ne tikai atcerējās, bet bija cieši pārliecināta, ka jau tad viņa teica un redzēja, ka viņš bija pārklāts ar rozā, tieši rozā, segu un ka viņa acis bija aizvērtas.
    "Jā, jā, tieši rozā," sacīja Nataša, kura, šķiet, tagad arī atcerējās rozā teikto, un tajā viņa saskatīja prognozes galveno neparastumu un noslēpumu.
    – Bet ko tas nozīmē? – Nataša domīgi sacīja.
    - Ak, es nezinu, cik tas viss ir neparasti! - Sonja teica, satverdama galvu.
    Pēc dažām minūtēm piezvanīja princis Andrejs, un Nataša ienāca viņu apraudzīt; un Sonija, piedzīvojot tādas emocijas un maigumu, kādu viņa bija reti piedzīvojusi, palika pie loga, pārdomājot notikušā neparasto raksturu.
    Šajā dienā bija iespēja nosūtīt vēstules armijai, un grāfiene uzrakstīja vēstuli savam dēlam.
    "Sonja," sacīja grāfiene, pacēlusi galvu no vēstules, kad viņas māsasmeita gāja viņai garām. – Sonja, vai tu nerakstīsi Nikoļenkai? - teica grāfiene klusā, trīcošā balsī, un viņas nogurušo acu skatienā, skatoties caur brillēm, Sonja izlasīja visu, ko grāfiene saprata šajos vārdos. Šis skatiens pauda lūgšanu, bailes no atteikuma, kaunu par to, ka jālūdz, un gatavību uz nesamierināmu naidu atteikuma gadījumā.
    Sonja piegāja pie grāfienes un, nometusies ceļos, noskūpstīja viņas roku.
    "Es uzrakstīšu, maman," viņa teica.
    Sonju mīkstināja, sajūsmināja un aizkustināja viss, kas tajā dienā notika, jo īpaši noslēpumainais zīlēšanas izpildījums, ko viņa tagad redzēja. Tagad, kad viņa zināja, ka sakarā ar Natašas attiecību atjaunošanu ar princi Andreju, Nikolajs nevarēja precēties ar princesi Mariju, viņa priecīgi juta, ka atgriežas tas pašaizliedzības noskaņojums, kurā viņa mīlēja un bija pieradusi dzīvot. Un ar asarām acīs un apziņas prieku par dāsnu darbu, viņa, vairākas reizes pārtraukta ar asarām, kas aizmiglojušas samtaini melnas acis, uzrakstīja šo aizkustinošo vēstuli, kuras saņemšana Nikolaju tik ļoti pārsteidza.

    Apsardzes namā, kur Pjērs tika aizvests, virsnieks un karavīri, kas viņu aizveda, izturējās pret viņu naidīgi, bet tajā pašā laikā ar cieņu. Viņu attieksmē pret viņu joprojām bija jūtamas šaubas par to, kas viņš ir (vai viņš ir ļoti svarīgs cilvēks), un naidīgums viņu vēl svaigās personīgās cīņas ar viņu dēļ.
    Bet, kad kādas citas dienas rītā pienāca maiņa, Pjērs juta, ka jaunajam apsargam — virsniekiem un karavīriem — tam vairs nav tādas nozīmes, kāda bija tiem, kas viņu paņēma. Un tiešām, šajā lielajā, resnajā vīrietī zemnieka kaftānā nākamās dienas sargi vairs neredzēja to dzīvo cilvēku, kurš tik izmisīgi cīnījās ar marodieri un eskorta karavīriem un teica svinīgu frāzi par bērna glābšanu, bet redzēja. tikai septiņpadsmitā no tiem, kas pēc augstākās varas pavēles kaut kādu iemeslu dēļ aizturēti, sagūstītie krievi. Ja Pjērā bija kas īpašs, tad tas bija tikai viņa kautrīgais, cītīgi pārdomātais izskats un franču valoda, kurā, pārsteidzoši, francūžiem, viņš labi runāja. Neskatoties uz to, ka tajā pašā dienā Pjērs bija saistīts ar citiem aizdomās turamajiem, jo ​​atsevišķā telpa, kuru viņš ieņēma, bija nepieciešama virsniekam.
    Visi krievi, kurus turēja pie Pjēra, bija zemākā ranga cilvēki. Un viņi visi, atzīstot Pjēru par meistaru, vairījās no viņa, jo īpaši tāpēc, ka viņš runāja franču valodā. Pjērs ar skumjām dzirdēja izsmieklu par sevi.
    Nākamajā vakarā Pjērs uzzināja, ka visi šie ieslodzītie (un, iespējams, arī viņš pats) tiks tiesāti par ļaunprātīgu dedzināšanu. Trešajā dienā Pjēru kopā ar citiem aizveda uz māju, kur sēdēja franču ģenerālis ar baltām ūsām, divi pulkveži un citi franči ar šallēm uz rokām. Pjēram kopā ar citiem tika uzdoti jautājumi par to, kas viņš ir, ar tādu precizitāti un noteiktību, ar kādu parasti izturas pret apsūdzētajiem, it kā pārsniedzot cilvēciskās vājības. kur viņš bija? kādā nolūkā? un tā tālāk.
    Šo jautājumu, atstājot malā dzīvības būtības būtību un izslēdzot iespēju atklāt šo būtību, tāpat kā visiem tiesās uzdotajiem jautājumiem, mērķis bija tikai izveidot rievu, pa kuru tiesneši vēlējās, lai apsūdzētā atbildes plūst un novestu viņu uz. vēlamo mērķi, tas ir, apsūdzību. Tiklīdz viņš sāka runāt kaut ko, kas neatbilst apsūdzības mērķim, viņi ieņēma rievu, un ūdens varēja plūst, kur vien gribēja. Turklāt Pjērs piedzīvoja to pašu, ko apsūdzētais piedzīvo visās tiesās: neizpratnē, kāpēc viņam tika uzdoti visi šie jautājumi. Viņam šķita, ka šī rievas ievietošanas viltība tika izmantota tikai piekāpšanās vai, kā teikt, pieklājības dēļ. Viņš zināja, ka atrodas šo cilvēku varā, ka tikai vara viņu ir atvedusi uz šejieni, ka tikai vara deva viņiem tiesības prasīt atbildes uz jautājumiem, ka šīs tikšanās vienīgais mērķis ir viņu apsūdzēt. Un tāpēc, tā kā bija vara un bija vēlme apsūdzēt, jautājumu un tiesāšanas triks nebija vajadzīgs. Bija acīmredzams, ka visām atbildēm ir jānoved pie vainas apziņas. Uz jautājumu, ko viņš darīja, kad viņi viņu aizveda, Pjērs diezgan traģiski atbildēja, ka viņš nesa saviem vecākiem bērnu, qu"il avait sauve des flammes [kuru viņš izglāba no liesmām]. - Kāpēc viņš cīnījās ar marodieri. Pjērs atbildēja, ka viņš aizstāv sievieti, ka aizsargāt aizvainotu sievieti ir katra cilvēka pienākums, ka... Viņu apturēja: tas netika pie lietas Kāpēc viņš atradās degošas mājas pagalmā. , kur liecinieki viņu redzējuši?Viņš atbildēja, ka brauks paskatīties, kas notiek Maskavā. Atkal viņu apturēja: nejautāja, kur viņš dodas, un kāpēc viņš atradās pie ugunskura? Kas viņš bija? Viņi atkārtoja pirmais jautājums viņam, uz kuru viņš teica, ka nevēlas atbildēt.Atkal viņš atbildēja, ka nevar tā teikt .
    - Pierakstiet, tas nav labi. "Tas ir ļoti slikti," ģenerālis ar baltām ūsām un sarkanu, rudu seju viņam stingri sacīja.
    Ceturtajā dienā ugunsgrēki izcēlās uz Zubovski Val.
    Pjērs un vēl trīspadsmit tika aizvesti uz Krymsky Brod, uz tirgotāja mājas ratiņu māju. Ejot pa ielām, Pjērs aizrijās no dūmiem, kas šķita stāvam pāri visai pilsētai. Ugunsgrēki bija redzami no dažādiem virzieniem. Pjērs vēl nesaprata Maskavas sadedzināšanas nozīmi un ar šausmām skatījās uz šiem ugunsgrēkiem.
    Pjērs vēl četras dienas uzturējās kādas mājas karietē netālu no Krimas Brodas, un šo dienu laikā no franču karavīru sarunas viņš uzzināja, ka visi, kas šeit uzturas, gaidīja maršala lēmumu katru dienu. Kuru maršalu Pjērs nevarēja noskaidrot no karavīriem. Karavīram maršals acīmredzot šķita augstākais un zināmā mērā noslēpumainais varas posms.
    Šīs pirmās dienas, līdz 8. septembrim, dienai, kad ieslodzītie tika nogādāti uz sekundāro pratināšanu, Pjēram bija visgrūtākās.

    X
    8. septembrī šķūnī ienāca ļoti svarīgs virsnieks, lai redzētu ieslodzītos, spriežot pēc cieņas, ar kādu sargi izturējās pret viņu. Šis virsnieks, iespējams, štāba virsnieks, ar sarakstu rokās, sasauca visus krievus, nosaucot Pjēru: celui qui n "avoue pas son nom [tas, kurš nesaka savu vārdu]. Un vienaldzīgi un laiski aplūkojot visus ieslodzītos, viņš pavēlēja apsargam, ka virsniekam ir pareizi tos saģērbt un sakopt, pirms veda pie maršala.Stundu vēlāk ieradās karavīru rota, un Pjērs un vēl trīspadsmit tika nogādāti Jaunavas laukā. . Diena bija skaidra, saulaina pēc lietus, un gaiss bija neparasti tīrs. Dūmi nenosēdās kā tajā dienā, kad Pjēru izveda no Zubovska Valas apsardzes nama; skaidrā gaisā dūmi cēlās kolonnās. Ugunsgrēki ugunsgrēki nekur nebija redzami, bet no visām pusēm cēlās dūmu stabi, un visa Maskava, viss, ko Pjērs varēja redzēt, bija viens ugunsgrēks. No visām pusēm varēja redzēt brīvas zemes ar krāsnīm un skursteņiem un reizēm pārogļojušās sienas. no mūra mājām.Pjērs cieši aplūkoja ugunsgrēkus un nepazina pazīstamos pilsētas kvartālus.Dažviet bija redzamas saglabājušās baznīcas.Kremlis,nepostīts,no tālienes rēgojās balts ar saviem torņiem un Ivanu Lielo. Turpat netālu jautri mirdzēja Novodevičas klostera kupols, un no turienes īpaši skaļi atskanēja Evaņģēlija zvans. Šis paziņojums atgādināja Pjēram, ka ir svētdiena un Jaunavas Marijas dzimšanas svētki. Bet šķita, ka nav neviena, kas svinētu šos svētkus: visur plosās ugunsgrēks, un krievu tautā tikai reizēm bija sagrauzti, nobijušies cilvēki, kuri paslēpās, ieraugot frančus.
    Acīmredzot krievu ligzda tika izpostīta un iznīcināta; bet aiz šīs krievu dzīves kārtības iznīcināšanas Pjērs neapzināti juta, ka virs šīs izpostītās ligzdas ir nodibināta viņa, pavisam cita, bet stingra franču kārtība. Viņš to juta, redzot tos karavīrus, kuri staigāja jautri un jautri, regulārās rindās un pavadīja viņu kopā ar citiem noziedzniekiem; viņš to sajuta, redzot kādu svarīgu franču ierēdni dubultā pajūgā, kuru vadīja karavīrs, kurš brauca viņam pretī. Viņš to juta no jautrajām pulka mūzikas skaņām, kas nāca no lauka kreisās puses, un īpaši viņš to juta un saprata no saraksta, ko šorīt lasīja viesojošais franču virsnieks, izsaucot ieslodzītos. Pjēru aizveda daži karavīri, aizveda uz vienu vai otru vietu kopā ar desmitiem citu cilvēku; likās, ka viņi var aizmirst par viņu, sajaukt viņu ar citiem. Bet nē: pratināšanas laikā sniegtās atbildes viņam atgriezās viņa vārda formā: celui qui n "avoue pas son nom. Un ar šo vārdu, no kura Pjērs baidījās, viņu tagad ar neapšaubāmu pārliecību kaut kur veda. uz viņu sejām rakstīts, ka visi pārējie ieslodzītie un viņš ir tie, kas bija vajadzīgi, un viņi tiek vesti tur, kur vajag.Pjērs jutās kā nenozīmīga šķemba, kas ieķerta viņam nezināmas, bet pareizi funkcionējošas mašīnas riteņos.
    Pjērs un citi noziedznieki tika novesti uz Meiteņu lauka labo pusi, netālu no klostera, uz lielu baltu māju ar milzīgu dārzu. Šī bija kņaza Ščerbatova māja, kurā Pjērs pirms tam bieži bija viesojies pie saimnieka un kurā tagad, kā viņš uzzināja no karavīru sarunas, atradās maršals, Ekmīlas hercogs.
    Viņus veda uz lieveni un pa vienam ieveda mājā. Pjērs tika ievests sestajā vietā. Caur Pjēram pazīstamo stikla galeriju, vestibilu un priekštelpu viņš tika ievests garā, zemā kabinetā, pie kura durvīm stāvēja adjutants.
    Davouts sēdēja istabas galā virs galda, brilles uz deguna. Pjērs pienāca viņam tuvu. Davouts, nepaceļot acis, acīmredzot tika galā ar kādu papīru, kas gulēja viņam priekšā. Acis nepaceļot, viņš klusi jautāja:
    – Vai esi mierā? [Kas tu esi?]
    Pjērs klusēja, jo nespēja izrunāt vārdus. Pjēram Davo nebija tikai franču ģenerālis; Pjēram Davotam viņš bija cilvēks, kas pazīstams ar savu nežēlību. Skatoties uz Davouta auksto seju, kura kā stingra skolotāja piekrita pagaidām būt pacietīgam un gaidīt atbildi, Pjērs juta, ka katra kavēšanās sekunde var maksāt viņam dzīvību; bet viņš nezināja, ko teikt. Viņš neuzdrošinājās teikt to, ko teica pirmajā pratināšanā; sava ranga un amata atklāšana bija gan bīstama, gan apkaunojoša. Pjērs klusēja. Bet, pirms Pjērs paspēja kaut ko izlemt, Davo pacēla galvu, pacēla brilles pie pieres, samiedza acis un vērīgi paskatījās uz Pjēru.
    "Es pazīstu šo cilvēku," viņš teica nosvērtā, aukstā balsī, acīmredzot, lai nobiedētu Pjēru. Aukstums, kas iepriekš bija pārskrējis Pjēra muguru, satvēra viņa galvu kā netikums.
    – Mon general, vous ne pouvez pas me connaitre, je ne vous ai jamais vu... [Jūs nevarējāt mani pazīt, ģenerāl, es jūs nekad neesmu redzējis.]
    "C"est un spion russe, [Šis ir krievu spiegs,"] Deavo viņu pārtrauca, uzrunājot citu ģenerāli, kurš atradās istabā un kuru Pjērs nebija pamanījis. Un Davots novērsās. Ar negaidītu balsī Pjērs. pēkšņi ātri ierunājās.
    "Nē, monseigneur," viņš teica, pēkšņi atcerēdamies, ka Davouts ir hercogs. - Non, Monseigneur, vous n"avez pas pu me connaitre. Je suis un officier militianaire et je n"ai pas quitte Moscow. [Nē, jūsu augstība... Nē, jūsu augstība, jūs nevarējāt mani pazīt. Es esmu policists un neesmu atstājis Maskavu.]
    - Votre nom? [Jūsu vārds?] - atkārtoja Davouts.
    - Besouhof. [Bezukhovs.]
    – Qu"est ce qui me prouvera que vous ne mentez pas? [Kas man pierādīs, ka jūs nemelo?]
    - Monseigneur! [Jūsu Augstība!] - Pjērs iesaucās nevis aizvainotā, bet lūdzošā balsī.
    Davouts pacēla acis un vērīgi paskatījās uz Pjēru. Viņi vairākas sekundes skatījās viens uz otru, un šis skatiens izglāba Pjēru. Šajā skatījumā, neņemot vērā visus kara un tiesas apstākļus, starp šiem diviem cilvēkiem tika izveidotas cilvēciskas attiecības. Viņi abi tajā vienā minūtē neskaidri piedzīvoja neskaitāmas lietas un saprata, ka abi ir cilvēces bērni, ka viņi ir brāļi.
    No pirmā acu uzmetiena Davotam, kurš tikai pacēla galvu no sava saraksta, kur cilvēciskās lietas un dzīvi sauca par skaitļiem, Pjērs bija tikai apstāklis; un, neņemot vērā slikto darbu uz viņa sirdsapziņas, Davouts būtu viņu nošāvis; bet tagad viņš jau ieraudzīja viņā cilvēku. Viņš brīdi padomāja.
    – Komentēt mani prouverez vous la verite de ce que vous me dites? [Kā tu man pierādīsi savu vārdu patiesumu?] - Davouts vēsi sacīja.
    Pjērs atcerējās Rambalu un nosauca savu pulku, uzvārdu un ielu, uz kuras atradās māja.
    "Vous n"etes pas ce que vous dites, [Tu neesi tas, ko saki.]," Davouts vēlreiz sacīja.
    Pjērs trīcošā, pārtraukuma balsī sāka sniegt pierādījumus par savas liecības patiesumu.
    Bet šajā laikā ienāca adjutants un kaut ko ziņoja Davotam.
    Davouts pēkšņi uztvēra adjutanta sniegtās ziņas un sāka pogāt pogas. Acīmredzot viņš pilnībā aizmirsa par Pjēru.
    Kad adjutants viņam atgādināja par ieslodzīto, viņš sarauca pieri, pamāja Pjēra virzienā un teica, ka viņu ved prom. Bet Pjērs nezināja, kur viņu vajadzēja nogādāt: atpakaļ uz kabīni vai sagatavoto nāvessoda izpildes vietu, ko biedri viņam parādīja, ejot pa Jaunavas lauku.
    Viņš pagrieza galvu un redzēja, ka adjutants atkal kaut ko jautā.
    - Oui, sans doute! [Jā, protams!] - teica Davouts, bet Pjērs nezināja, kas ir "jā".
    Pjērs neatcerējās, kā, cik ilgi viņš gāja un kur. Viņš, būdams pilnīgā bezjēgā un trulumā, neko apkārt neredzēdams, kustināja kājas līdzi pārējiem, līdz visi apstājās, un viņš apstājās. Visu šo laiku Pjēram galvā bija viena doma. Tā bija doma par to, kurš, kurš viņam beidzot piesprieda nāvessodu. Tie nebija tie paši cilvēki, kas viņu pratināja komisijā: neviens no viņiem to negribēja un acīmredzot nevarēja darīt. Ne jau Davouts uz viņu skatījās tik cilvēcīgi. Vēl minūte, un Davouts būtu sapratis, ka viņi kaut ko dara nepareizi, taču šo brīdi pārtrauca ienākušais adjutants. Un šis adjutants, acīmredzot, neko sliktu negribēja, bet varbūt arī neienāca. Kurš bija tas, kurš beidzot izpildīja nāvessodu, nogalināja, atņēma viņam dzīvību - Pjērs ar visām viņa atmiņām, centieniem, cerībām, domām? Kurš to izdarīja? Un Pjērs juta, ka tas nav neviens.

    19.04.2005 Natālija Dubova

    Atvērtā koda kopienai ir vairāki galvenie projekti, tostarp kopā ar Linux operētājsistēmu Eclipse izstrādes platformas izveide. Pirms vairākiem gadiem IBM Corporation izlaida šo atvērto platformu lietojumprogrammu izstrādes rīku integrēšanai, un tā tiek brīvi izplatīta visā pasaulē. atvērtais avots un to izstrādā lietotāju kopiena.

    Neiedziļinoties diskusijā par jautājumu, vai programmēšana ir māksla vai amatniecība, atzīstam: abos gadījumos programmētājs nevar iztikt bez rīkiem programmu veidošanai. Līdz ar programmēšanas procesa evolūciju (no “raganības” pār mašīnu komandām līdz augsta līmeņa valodu lietošanai) ir uzlabojušās arī programmētāju smago darba automatizācijas iespējas. Agrīnās izstrādes vides aprobežojās ar kompilatoru, saišu, ielādētāju un atkļūdotāju secīgu darbināšanu, izmantojot interfeisu. komandrinda. 80. gados kopā ar personālajiem datoriem Parādījās jaunas klases programmatūras produktu tirgus - integrētās izstrādes vides (IDE) algoritmiskām (Pascal u.c.) un pēc tam objektorientētām (Smalltalk, C++) programmēšanas valodām. Īsts uzplaukums šajā jomā sasniegts, pateicoties Java valodas izstrādātāju aktīvai adaptācijai; Pazīstamākās integrētās vides programmu izveidei šajā valodā ir Borland JBuilder, Symantec Visual Cafe, Microsoft J++, IBM VisualAge un Oracle JDeveloper.

    IDE galvenais mērķis ir palielināt izstrādātāju produktivitāti. Pirmās izstrādes vides, kas apvienoja programmu teksta redaktoru, kompilatoru un atkļūdotāju funkcionalitāti, galvenokārt atbrīvoja patērētājus no ikdienas darbībām. Laika gaitā IDE funkciju kopums kļuva bagātāks. Tas ietver pakāpeniskus kompilatorus, pārlūkprogrammas loģiskākai programmu prezentēšanai, automātiskās koda ģenerēšanas rīkus un vizuālie redaktori grafisko lietotāja interfeisu izveidei. Sekojot laikmeta tendencēm, izstrādes vide ir pārvērtusies no programmētāju produktivitātes palielināšanas rīkiem par līdzekļiem, kas atbalsta visus kolektīvā darba posmus. programmatūras projekts. Jaunākā tendence ir IDE pārveide par ALM (application lifecycle management), integrētu lietojumprogrammu dzīves cikla pārvaldības sistēmu – no prasību noteikšanas un modelēšanas līdz konfigurācijas un programmatūras versiju pārvaldībai, gatavā risinājuma ieviešanai un uzturēšanai.

    Katrs jauns IDE evolūcijas posms ir padarījis izstrādes vidi sarežģītāku. Tomēr šādu produktu lietotāji joprojām bija spiesti izmantot rīkus, kas nav integrēti IDE, kaut vai tāpēc, ka lietojumprogrammas izveide neaprobežojas tikai ar programmu rakstīšanu un atkļūdošanu vienā programmēšanas valodā. Nepieciešamība lietojumprogrammu sistēmā izmantot, piemēram, HTML lapas, relāciju datu bāzes shēmas vai koda daļas citās valodās (piemēram, Cobol vai PL/1), izstrādātājiem liek izmantot atbilstošus rīkus, kas sākotnēji nebija iekļauti IDE.

    Tāpēc daudzi komerciālās izstrādes vides pārdevēji cenšas tās padarīt pēc iespējas atvērtākas un nodrošināt īpašus mehānismus ārējo rīku integrēšanai. Taču neviena atsevišķa vide nevar apmierināt visas iespējamās lietotāju prasības. Lai to izdarītu, tai jābūt pilnīgi neitrālai attiecībā pret programmēšanas valodu un jāatbalsta maksimālais funkciju kopums. Eclipse nav tāda vide, bet tā ir bāze, platforma, ar kuras palīdzību var veidot daudzfunkcionālas un daudzvalodu izstrādes vides.

    Platforma

    Kā skaidro projekta Eclipse iniciatori, tā ideja bija radīt “Apache for development tools” – atvērtu platformu, kas nodrošina maksimālu pamata iespējas izstrādes vidēm un dažādu rīku integrēšanas mehānismu nodrošināšanai. Pirmo šīs platformas versiju izstrādāja IBM un izlaida kā atvērtā pirmkoda versiju 2001. gada beigās. Drīz vien sāka parādīties komerciālās ieviešanas, kuru pamatā ir Eclipse, un tās aizsācējs bija WebSphere Studio Application Developer 4.0. Tagad ap Eclipse ir izveidota visa atvērtā pirmkoda izstrādes ekosistēma, kas apvieno rīku pārdevējus un lietotājus, pētniecības organizācijas un atsevišķus izstrādātājus.

    Oficiālajos Eclipse Foundation dokumentos ( www.eclipse.org Eclipse platforma ir definēta kā piegādātāju ziņā neitrāla, atvērta izstrādes platforma, kas nodrošina ietvaru un izcilas iespējas, kā arī paplašināmus rīkus. Eclipse platformas rīkkopa ir standarta tādā nozīmē, ka tā pārbauda platformas pamata iespēju pielietojamību, ilustrē tipiskas to izmantošanas situācijas un atbalsta pašas Eclipse platformas izstrādi un uzturēšanu. Rīku komplekts ir paplašināms, jo tā funkcionalitāte ir pieejama, izmantojot dokumentētas programmatūras saskarnes. Pamatprincipi, pēc kuriem vadījās Eclipse platformas veidotāji un saskaņā ar kuriem tā turpina attīstīties, ir šādi:

    • atbalsts lietojumprogrammu izstrādes rīku konstruēšanai;
    • atbalsts neierobežotam skaitam rīku pārdevēju, tostarp neatkarīgiem programmatūras izstrādātājiem;
    • atbalsts rīkiem darbam ar patvaļīgiem satura veidiem, tostarp HTML, Java, C, JavaServer Pages, EJB, XML, GIF utt.;
    • nodrošinot “nevainojamu” rīku integrāciju darbam ar dažādi veidi saturu dažādi ražotāji;
    • atbalsts lietojumprogrammu izstrādes vidēm ar regulārām un grafiskām lietotāja saskarnēm;
    • nodrošinot iespēju vadīt izstrādes vidi, kuras pamatā ir dažādas operētājsistēmas(šodien uz Eclipse balstīti rīki ir ieviesti operētājsistēmām Linux, HP-UX, IBM AIX, Sun Solaris, QNX, Mac OS X, Windows);
    • ņemot vērā Java valodas popularitāti, veidojot izstrādes rīkus platformas izstrādes interesēs.

    Eclipse platforma ir izstrādes vide, kas rakstīta Java valodā vispārīgs mērķis, kuras arhitektūra nodrošina dažādu rīku un programmēšanas valodu integrāciju dažādu problēmu risināšanai. Šādas integrācijas mehānismi ļauj izmantot Eclipse platformu, lai izveidotu uzlabotas izstrādes vides, atbrīvojot jūs no ikdienas pamata rīku rakstīšanas par labu sarežģītu, specializētu funkciju izveidei. Tas ne tikai atrisina problēmu, kas saistīta ar daudzfunkcionālu un daudzvalodu izstrādes vidi, bet arī liek pamatu pārejai no viena veida vides uz citu to evolūcijas procesā. Izstrādātāju kopienas izstrādātā Eclipse platforma uzkrās jaunākos sasniegumus, padarot tos pieejamus konkrētu produktu izstrādātājiem un novēršot nepieciešamību būtiski pārveidot savas sistēmas.

    Eclipse izstrādes vide

    Eclipse Platform arhitektūras pamatā ir spraudņu izmantošanas princips. Platforma ievieš mehānismus šādu moduļu noteikšanai, integrēšanai un izpildei (sk. attēlu). Izstrādātājs, kurš vēlas izmantot Eclipse platformas iespējas, raksta savu rīku komplektu Java kā atsevišķu spraudņa moduli. Šis modulis darbosies ar failiem darbvietā, kas ir ieviesta, izmantojot darbvietas komponentu. Un tā lietotāja interfeiss ir balstīts uz darbagalda komponentu, kas nosaka interfeisa vispārējo struktūru un tā paplašināšanas iespēju.

    Parasti viens spraudnis ievieš vienkāršāko uz Eclipse platformu balstītas IDE funkcionalitāti, savukārt sarežģītāki rīki sastāv no vairākiem moduļiem. Tajā pašā laikā, izmantojot šādus moduļus, tiek realizēta arī gandrīz visa Eclipse Platform iebūvētā funkcionalitāte – izņemot mazo Platform Runtime kodolu. Katram spraudnim ir savs manifesta fails, kurā aprakstīti savienojumi šī moduļa ar citiem. Kad startējat uz Eclipse platformu balstītu izstrādes vidi, platformas izpildlaika komponents nosaka pieejamo spraudņu kopu, nolasa to manifesta failus un izveido spraudņu reģistru. Pēc sistēmas palaišanas papildu moduļi vairs nevar pievienot. Projektā Eclipse ir ieviesta īpaša vide spraudņu izveidei - Plug-In Development Environment (PDE).

    Izmantojot īpašus moduļus, tiek realizētas Eclipse platformas darbvietas un lietotāja interfeisa (darbgalda) sastāvdaļas. Darbvietā ir faili, ko izveidojuši spraudņu ieviesto rīku lietotāji. Darbagalda komponents nodrošina vispārīgu struktūru un rīkus, kas ļauj paplašināt izstrādes vides lietotāja saskarnes iespējas, pamatojoties uz Eclipse platformu, un ietver divus komponentus rīku ieviešanai informācijas sniegšanai lietotājam.

    • Standarta logrīku rīkkopa (SWT) ir interfeisa elementu un grafikas bibliotēkas kopa, kurai ir mehānismi integrācijai ar noteiktas operētājsistēmas logu sistēmu, bet tiek ieviestas no OS neatkarīgas API. Tas dod iespēju pēc vienotiem principiem veidot izstrādes vides lietotāja saskarnes, kas atbilst patērētājam pazīstamajai logu videi, bet ir paredzētas pēc iespējas plašākam operētājsistēmu lokam;
    • JFace ir rīku komplekts vairāku izplatītu uzdevumu īstenošanai, kas saistīti ar programmēšanas saskarnēm, izmantojot SWT rīkus.

    Pamatojoties uz SWT un JFace komponentu nodrošinātajām API, tiek izveidots personalizēts lietotāja interfeiss, kas nosaka patērētāju mijiedarbības struktūru ar izstrādes rīkiem. Eclipse platformas saskarne ir organizēta, izmantojot redaktorus, skatus un perspektīvas.

    Redaktoru mērķis ir atvērt, rediģēt un saglabāt darbvietas objektus. Platformā ir iebūvēts teksta resursu redaktors, un citas funkcijas ir jāievieš kā spraudņi. Skati sniedz informāciju par objektu, ar kuru lietotājs strādā Šis brīdis. Visbeidzot, perspektīvais dzinējs ļauj atlasīt un sakārtot vēlamos redaktorus un skatus, kas tiks parādīti ekrānā.

    Organizācija

    Atvērtā pirmkoda projektu vadīšanai ir vairākas priekšrocības. Tādējādi viens no šādas platformas uzdevumiem ir nodrošināt izstrādātājus ar rīkiem no kopīgas bāzes, invariantiem dažādām izstrādes vidēm. Kāpēc katram ražotājam ir jāpārraksta kaut kas, ko var uzrakstīt vienreiz? Bet, lai veidotu savus izstrādnes uz šādas platformas, ražotājam ir pilnībā jāuzticas tam, kurš to izveidoja. Un tas ir iespējams tikai tad, ja viņš spēj izmēģināt visu, kas tajā ir iekļauts, tas ir, iegūt atvērtā koda platformu.

    Produkta izstrāde saskaņā ar atvērtā koda principiem uzlabo koda kvalitāti, jo to kopā pulē daudzi ieinteresēti izstrādātāji. Atkļūdošana kļūst vienkāršāka un labāka – pateicoties piekļuvei programmas avota kodam un, atkal, sadalītas komandas iesaistīšanai darbā. Sadarbība ļauj mums sadalīt riskus, kas saistīti ar sarežģītu tehnoloģiju radīšanu. Un platformas kolektīvā izstrādes struktūra nodrošina savu atbalstu neatkarīgi no peripetijām, kas var rasties ar konkrētu izstrādes vidi piegādātājiem. Visbeidzot, izmantojot atvērtā koda izstrādes platformu ar elastīgu spraudņa mehānismu papildu funkcionalitātes ieviešanai, tiek atvērtas neierobežotas iespējas tās uzlabošanai.

    Eclipse platformas arhitektūra

    Tomēr apzinieties atvērtā pirmkoda izstrādes modeļa priekšrocības, vienkārši izlaižot to “savvaļā” tehniskā platforma, tas nedarbosies. Mums ir jāorganizē process. Līdz ar pirmās Eclipse versijas izlaišanu 2001. gadā šo pienākumu uzņēmās IBM organizēts konsorcijs kopā ar vairākiem vadošajiem tirgus dalībniekiem, un 2004. gada februārī Eclipse direktoru padome nolēma pārveidot Eclipse fondu par citu uzņēmumu. peļņa, neatkarīga korporācija.

    Eclipse Foundation, vairāk nekā 60 uzņēmumu konsorcijs, koordinē centienus uzlabot Eclipse platformu un citus atvērtā pirmkoda projektus.

    Projekts Eclipse ir pilnībā atvērts un tajā var piedalīties jebkurš ieinteresēts izstrādātājs, kuram nav jābūt neviena uzņēmuma darbiniekam. Principā ikviens var ne tikai interesēties par izstrādes detaļām un dot ieguldījumu kļūdu identificēšanā, bet arī piedalīties koda rakstīšanā un platformas nākamās versijas kopējā dizainā. Tomēr Eclipse ievēro principu, ka pirmajā vietā ir profesionālisms. Izstrādātājs ar pierādītu profesionālo reputāciju var rēķināties ar papildu atbildību un iespēju aktīvi īstenot savas prasmes Eclipse projektos. Daži izstrādātāji ir definēti kā “apstiprinātāji”, jo viņi ir atbildīgi par pirmkodu un tikai viņiem ir tiesības atvērtā pirmkoda krātuvē izveidot jaunas versijas. Parasti šie izstrādātāji ir to uzņēmumu darbinieki, kas viņiem maksā par darbu Eclipse projektos.

    Izstrādes process ir iteratīvs, un tā mērķis ir maksimāli palielināt Eclipse kopienas dalībnieku iesaistīšanos darbā pie projekta. Pirms nākamā laidiena izlaišanas ir vairāki noteikta ilguma (apmēram vairākas nedēļas) posmi, no kuriem katrs ir pilns cikls, tostarp versijas plānošana, izstrāde, testēšana un starpposma izlaišana. Nākamā cikla pabeigšanu pavada atklāta sistēmas jauno iespēju apraksta publikācija, kas rosina kopienas dalībniekus tās apspriest, izmantot un sniegt ieteikumus pilnveidošanai. Rezultātā nākamajos attīstības posmos kļūst iespējams ņemt vērā sabiedrības reakciju uz pagaidu izlaidumu. Šis ir atvērts process, lai nepārtraukti uzlabotu Eclipse platformu un izstrādātu citas uz to balstītas iniciatīvas.

    Eclipse tehnoloģiju projekta misija ir koordinēt izstrādātāju, pētnieku, zinātnisko un izglītības organizāciju locekļu centienus, lai noteiktu Eclipse platformas un citu atvērtā koda izstrādes perspektīvas. Daži no ievērojamākajiem pētniecības apakšprojektiem šajā jomā ir uz aspektiem orientētas programmatūras izstrāde (AspectJ un AJDT), alternatīva kodola izveide Eclipse Runtime (Equinox), sadarbības izstrādes platformas (Koi) izveide, programmatūra. konfigurācijas pārvaldība (Stellation), rīku komplekts XML shēmas definīcijai un uz modeļiem balstītai izstrādei (ģeneratīvais modeļa transformators).

    kopiena

    Visu Eclipse projektu radīto materiālu izmantošana ir pakļauta Kopējai publiskajai licencei (CPL), ko apstiprinājusi Atvērtā koda iniciatīva. Saskaņā ar CPL ikviens var izmantot un izplatīt Eclipse bez maksas komerciālos un nekomerciālos nolūkos. Vietnē eclipse.org ir brīvi pieejama šāda informācija:

    • pašreizējās Eclipse platformas versijas tiešai lietošanai (binārā formā);
    • pirmkoda repozitorijs, kurā ikviens var apskatīt jebkura avota faila saturu un pārskatīšanas vēsturi, kā arī iegūt skriptus Eclipse platformas pārkompilēšanai un veidošanai no pirmkodiem;
    • atvērt diskusiju forumus, lai apspriestu Eclipse platformu;
    • kļūdu datu bāze, lai izsekotu defektiem un problēmām pašreizējās platformas versijās. Izmantojot šo datubāzi, lietotāji var identificēt zināmos defektus savos Eclipse balstītajos izstrādēs un publicēt jaunas atklātās problēmas;
    • attīstības plāni un kontakti izstrādātājiem, kas iesaistīti Eclipse projektos.

    Šodien tālāk eclipse.org brīvi pieejams - vairāk nekā simts spraudņu avota kodā Eclipse platformai. Eclipse atvērtā pirmkoda projektos kopumā ir vairāk nekā 2 miljoni koda rindu.

    Tirgus attīstības atslēga programmatūra attīstībai ir dalība komercsabiedrību projektā Eclipse. Izmantojot Eclipse platformu, viņiem ir iepriekš izveidoti izstrādes vides pamatpakalpojumi, kas ir neitrāli attiecībā uz valodu un darbības platformu un var koncentrēt savus centienus un ieguldījumus sarežģītas funkcionalitātes izstrādei, kas padarīs viņu risinājumus konkurētspējīgus. Ir uz Eclipse balstītu implementāciju piemēri gan pilnvērtīgām izstrādes vidēm, kas veicina vismodernākos risinājumus šajā jomā, gan arī specializētus rīkus, kas paredzēti noteiktam uzdevumu lokam.

    Tādējādi visi IBM Rational saimes produkti darbojas uz Eclipse platformas. Borland plāno migrēt visus savus atbalsta rīkus uz Eclipse dzīves cikls lietojumprogrammas. Ir QNX iegulto lietojumprogrammu izstrādes rīku Eclipse versija; Wind River īsteno līdzīgu projektu. Savukārt Hewlett-Packard savai interneta lietošanas pārvaldnieka sistēmai piedāvā uz Eclipse balstītu komponentu izstrādes vidi, mērķauditorija kas ir telekomunikāciju operatori. Nokia paziņoja par atbalstu Eclipse kā izstrādes platformai mobilās lietojumprogrammas. IBM ir ieviesis īpašu rīku komplektu Autonomic Computing Toolkit, kura pamatā ir Eclipse un kas izstrādāts, lai atbalstītu autonomās skaitļošanas tehnoloģijas izstrādātajās lietojumprogrammās. No visiem pasaules vadošajiem programmatūras ražotājiem tikai Sun Microsystems un Microsoft nesadarbojas ar Eclipse Foundation.

    Komerciālu uz Eclipse balstītu vidi pārdevēji ļauj neatkarīgiem izstrādes uzņēmumiem pārdot spraudņus savai IDE, un ir ierasts, ka uzņēmums pārdod vienu un to pašu patentētu spraudni dažādām Eclipse vidēm. Šī ir ne tikai metode jaunu tirgu attīstīšanai, bet arī vēl viens veids, kā palielināt projekta nozīmi. Lietotāji augstu vērtē izvēles brīvību: ja viņus neapmierina esošā uz atvērtā pirmkoda platformas balstītas vides funkcionalitāte, viņi to var paplašināt pašizstrādājot vai iegādājoties tāda paša formāta komerciālos risinājumus.

    Šīs grupas izmanto Eclipse izstrādes dažādos veidos, taču tās visas veicina to attīstību. Tendence ir izmantot Eclipse platformu, lai izveidotu lietojumprogrammas, kas nav IDE. Tas ir iespējams, jo Eclipse Platform tehnoloģiskajā risinājumā nav daudz izstrādes videi raksturīgu elementu. Trešajā Eclipse versijā notiek attīstība no platformas izstrādes vidēm uz platformu pilnvērtīgu klientu darbstaciju ieviešanai (Rich Client Platform). Tā nav nejaušība, ka IBM ievieš savu daudzsološo Workplace sadarbības vidi, kuras pamatā ir Eclipse.

    Literatūra

    1. Marks R. Eriksons, Anguss Makintairs. , 2001, novembris.
    2. J. dea Rivieres, J. Wiegand. Aptumsums. Platforma izstrādes rīku integrēšanai. IBM Systems Journal, 2004, Nr. 2.

    Eclipse organizācijas struktūra

    Eclipse izstrādes koordināciju un dalību dažādu organizāciju un atsevišķu izstrādātāju atvērtā pirmkoda projektos veic bezpeļņas neatkarīgs konsorcijs Eclipse Foundation.

    Eclipse Foundation direktoru padome sastāv no četrām galvenajām locekļu kategorijām:

    • stratēģiskie izstrādātāji (Strategic Developers) - uzņēmumi Actuate, Borland, IBM, Computer Associates, Intel, QNX, Wind River, Sybase, Scapa Technologies, BEA Systems;
    • stratēģiskie patērētāji (Strategic Consumers) - HP, Montavista Software, SAP, Serena Software;
    • iekļautie piegādātāji (pievienojumprogrammu nodrošinātāji);
    • Atvērtā koda projektu vadītāji.

    Direktoru padomē ir visi stratēģiskie izstrādātāji un stratēģiskie patērētāji, un pārējās divas grupas deleģē tajā savus pārstāvjus. Konsorcija stratēģiskajiem dalībniekiem ir arī noteiktas tiesības piedalīties projektu vadības komitejās un padomēs, kas koordinē attīstības procesus.

    Konsorcijs vada vairākus pamata atvērtā pirmkoda projektus, kas ietver dažādu apakšprojektu skaitu. Bāzes projektu vada Projektu vadības komiteja (PMC). Lai vadītu attīstību kopumā, tiek izveidotas trīs galvenās padomes - Prasību padome, Arhitektūras padome un Plānošanas padome.

    Prasību padome analizē un strukturē projektu prasības. Tie apvieno prasības, kas vērstas uz Eclipse Foundation vispārējo mērķu sasniegšanu un projekta konkrētos mērķus, risinot galveno konsorcija dalībnieku problēmas un attīstot Eclipse ekosistēmu. Balstoties uz analīzi, tiek formulēts tēmu un prioritāšu saraksts, kas noteiks attīstības gaitu. Arhitektūras padome ir atbildīga par Eclipse platformas arhitektūras izstrādi, tās skaidru definēšanu, paziņošanu izstrādes komandām un to pasargāšanu no netīšas nepatiesas informācijas sniegšanas. Plānošanas padome izveido koordinētu platformas izlaišanas plānu.

    Projektus īsteno izstrādes komandas, kuras vada projektu vadītāji un iekļaujot izstrādātājus un atbildīgos izstrādātājus. Pirmie nodarbojas ar koda rakstīšanu, kļūdu identificēšanu, programmu testēšanu un dokumentēšanu, kā arī veic citus uzdevumus projekta ietvaros. Atbildīgajiem izstrādātājiem ir tiesības papildināt avota kodu repozitoriju, un tiem ir jāietekmē izstrādes gaita projekta ietvaros. Uzņēmumiem, kurus Eclipse Foundation norādījis par stratēģiskajiem izstrādātājiem, ir jāvada vismaz viens projekts. Viņi arī tiek mudināti vadīt komitejas.



    Eclipse ir uz Java balstīta, atvērtā koda, paplašināma izstrādes platforma. Būtībā tā ir vienkārši izstrādes vide un pakalpojumu kopums lietojumprogrammu veidošanai, pamatojoties uz iegultiem komponentiem (spraudņiem). Par laimi Eclipse ir aprīkots ar standarta spraudņu komplektu, tostarp labi zināmajiem Java izstrādes rīkiem (JDT).

    Lai gan lielākā daļa lietotāju, kuri izmanto Eclipse kā Java integrēto izstrādes vidi (IDE), ir apmierināti ar to, tajā ir daudz vairāk. Eclipse ietver arī spraudņu izstrādes vidi (PDE), kas pirmām kārtām interesēs tos, kuri vēlas paplašināt pašu Eclipse, jo tā ļauj izveidot savus rīkus, kas ir iebūvēti Eclipse vidē. Tā kā Eclipse ir pilnībā izgatavots no spraudņiem, visiem rīku komplekta izstrādātājiem ir iespēja piedāvāt savus Eclipse paplašinājumus un nodrošināt lietotājiem konsekventu un vienmērīgu integrētu izstrādes vidi (IDE).

    Šī integritāte un konsekvence nav raksturīga tikai Java izstrādes rīkiem. Lai gan Eclipse ir rakstīts Java valodā, to var izmantot ar citām valodām. Piemēram, jau ir pieejami (vai tiek izstrādāti) spraudņi, kas atbalsta tādas programmēšanas valodas kā C/C++ un COBOL. Eclipse ietvaru var izmantot arī kā pamatu cita veida lietojumprogrammām, kas nav saistītas ar programmatūras izstrādi, piemēram, satura pārvaldības sistēmām.

    Lielisks uz Eclipse balstītas lietojumprogrammas piemērs ir IBM Rational Software Architect, kas veido pamatu IBM Java izstrādes rīku saimei.

    Eclipse ir atvērtā koda

    Atvērtā pirmkoda programmatūra tiek izlaista saskaņā ar licenci, kas paredzēta, lai garantētu lietotājiem noteiktas tiesības. Acīmredzamākais no tiem, protams, ir tas, ka lietotājiem ir jānodrošina pirmkods, un viņiem ir visas tiesības pašiem modificēt un izplatīt programmatūru. Šī lietotāja tiesību aizsardzība tiek panākta, izmantojot mehānismu, ko sauc par "copyleft": programmatūras licence ir aizsargāta ar autortiesībām un aizliedz programmatūras izplatīšanu, ja vien lietotājam nav piešķirtas šādas tiesības. Copyleft licencei arī ir nepieciešams, lai uz visu lietotāju izplatīto programmatūru bez izmaiņām būtu jāattiecina sākotnējā licence. Tādējādi autortiesību nozīme būtībā ir apgriezta otrādi, un par copyleft licenci, kas izmanto autortiesības, lai piešķirtu tiesības lietotājam, nevis paturētu tās programmatūras izstrādātājam, bieži jokojot tiek teikts, ka “visas tiesības ir sagrozītas” (visas tiesības ir apgrieztas). ).

    Liela daļa izplatīto baiļu, nenoteiktības un šaubu par atvērtā pirmkoda programmatūru ir balstīta uz dažu copyleft licenču tā saukto vīrusu raksturu. Ideja ir tāda, ka, izmantojot atvērtā pirmkoda programmatūru kā daļu no programmas, kuru izstrādājat pats, jūs zaudēsiet savu intelektuālo īpašumu, jo licence piesārņos jūsu privātās programmas daļas. Citiem vārdiem sakot, licence var pieprasīt, lai visa atvērtā pirmkoda programmatūra, tostarp jebkura jaunizveidota programmatūra, tiktu izplatīta saskaņā ar vienu un to pašu licenci. Lai gan tas attiecas uz slavenāko copyleft licenci GNU General Public License (ar kuru, piemēram, tiek izplatīts Linux), ir arī citas licences, kas nodrošina atšķirīgu komerciālo un sabiedrisko interešu līdzsvaru.

    Atvērtās programmatūras iniciatīva — OSI (Open Software Initiative) ir bezpeļņas organizācija, kas skaidri definē, kas ir atvērtais avots, un sertificē licences, kas atbilst tās kritērijiem. Eclipse tiek izplatīts saskaņā ar EPL (Eclipse Public License) V1.0 — OSI apstiprinātu licenci, kas izstrādāta, lai atvieglotu Eclipse komerciālu pieņemšanu, vienlaikus saglabājot oriģinālā koda autoru tiesības.

    Tiem, kas izveido Eclipse spraudņus vai izmanto Eclipse kā pamatu programmatūras izstrādei, ir jāpublicē jebkurš Eclipse kods, ko viņi izmanto vai modificē saskaņā ar EPL, taču viņi var brīvi licencēt savus papildinājumus pēc saviem ieskatiem. Vietējam kodam, kas ir komplektā ar programmatūru no Eclipse, nav jābūt licencētam kā atvērtam pirmkodam, un pašam pirmkodam nav jābūt publiski pieejamam.

    Lai gan lielākā daļa programmētāju neizmantotu Eclipse, lai izstrādātu spraudņus vai izveidotu jaunus produktus, pamatojoties uz to, Eclipse atvērtā pirmkoda būtība ir nozīmīga ne tikai tāpēc, ka tas padara Eclipse pieejamu pilnīgi bez maksas (un neskatoties uz tā komerciālo raksturu). Licence nozīmē. ka spraudņi var maksāt naudu). Atvērtais pirmkods veicina inovācijas un rada stimulu izstrādātājiem (pat komerciālajiem) sniegt savu pirmkodu kopienai. Tam ir vairāki iemesli, bet, iespējams, vissvarīgākais ir tas, ka jo vairāk izstrādātāju ieguldījums projektā, jo nozīmīgāks tas kļūst ikvienam. Un, kad projekts kļūs noderīgs, vairāk izstrādātāju to izmantos un izveidos ap to kopienu, kas ir līdzīga tai, kas ir izveidojusies ap Apache un Linux.

    Kas ir Eclipse?

    Eclipse ir atvērtā pirmkoda izstrādātāju kopiena, kuras projektu mērķis ir izveidot atvērtu izstrādes platformu, kas sastāv no paplašināmas izstrādes vides, rīkiem un izpildlaika bibliotēkām programmatūras izveidei, izvietošanai un pārvaldībai visā tās dzīves ciklā. Eclipse Foundation ir bezpeļņas, biedru atbalstīta organizācija, kas rīko Eclipse projektus un palīdz uzlabot atvērtā pirmkoda kopienu un papildu produktu un pakalpojumu ekosistēmu.

    Projektu Eclipse 2001. gada novembrī izveidoja IBM, un to atbalstīja programmatūras pārdevēju konsorcijs. Eclipse fonds tika izveidots 2004. gada janvārī kā neatkarīga bezpeļņas organizācija, kas darbojas kā Eclipse kopienas pārvaldnieks. Tas tika izveidots, lai palīdzētu pārdevēju ziņā neitrālai, atvērtai un caurspīdīgai kopienai augt ap Eclipse. Mūsdienu Eclipse kopiena sastāv no privātpersonām un organizācijām, kas pārstāv programmatūras nozari.

    Eclipse fonds pārrauga un vada Eclipse pastāvīgo attīstību. Fonds apkalpo kopienu, bet atvērtā pirmkoda izstrādātāji, ko sauc par apņemšanās dalībniekiem, kuri galvenokārt strādā pie Eclipse projektiem, nav tā darbinieki. Parasti Eclipse dalībnieki ir kādas organizācijas biedri vai neatkarīgi izstrādātāji, kas brīvprātīgi velta savu laiku, lai strādātu pie atvērtā pirmkoda projekta.

    Tagad, kad esam apskatījuši Eclipse teorētiskos, vēsturiskos un politiskos aspektus, apskatīsim pašu produktu.

    Eclipse darbvieta

    Pirmoreiz palaižot Eclipse, darbvietā redzēsit sveiciena lapu (skatiet 1. attēlu). Eclipse lietotājam ir vairākas iespējas, lai pārietu uz pārskata lapu, ko es iesaku darīt (sk. 2. attēlu). Tālāk jūs varat iepazīties ar informāciju par jaunām funkcijām, izpētīt dažus piemērus vai apmeklēt apmācības kursu.

    2. attēls. Aptumsuma pārskata lapa

    Eclipse darbvieta sastāv no vairākiem paneļiem, ko sauc par skatiem, piemēram, navigācijas vai kontūras skatiem. Šādu skatu kopumu sauc par perspektīvu. Viena no visizplatītākajām perspektīvām ir resursu perspektīva, kas ir pamata skatu kopa projektu pārvaldībai un projektu failu skatīšanai un rediģēšanai.

    Es iesaku lielākajai daļai pirmo lietotāju sākt ar pārskata lapu, kas parādīta 2. attēlā, un uzzināt vairāk par Eclipse. Sadaļā Darbgalda pamati ir daudz noderīgas sākotnējās informācijas par dažādiem Eclipse komponentiem un to savstarpējo mijiedarbību. Veltiet dažas minūtes, lai to izlasītu, un pēc tam iedziļināsimies Eclipse Java izstrādes rīkos (JDT). Labākais veids lai kaut ko iemācītos - izmēģiniet to praksē.

    Turpinot šo īso Eclipse apskati, mēs izveidosim jaunu projektu Java valodā. Izvēlieties Fails > Jauns > Java projekts un ievadiet Hello, kad tiek prasīts projekta nosaukums, pēc tam noklikšķiniet uz Pabeigt.

    Tagad apskatīsim "Java" perspektīvu (ja vēl neesat tajā). Atkarībā no tā, kā vēlaties vadīt ekrānu, varat mainīt pašreizējā loga perspektīvu, atlasot Logs > Open Perspective > Java (Logs > Open Perspective> Java) vai atveriet jaunu logu, atlasot Logs > Jauns logs un izvēlieties jaunu skatījumu.

    Kā jūs varētu gaidīt, Java perspektīvā ir skatu kopums, kas paredzēts Java izstrādes vadīšanai. Viens no tiem, kas atrodas augšējā kreisajā stūrī, ir hierarhija, kurā ir dažādas Java pakotnes, klases, JAR arhīvi un dažādi faili. Šo skatu sauc Package Explorer. Lūdzu, ņemiet vērā, ka galvenajai izvēlnei ir pievienoti divi jauni vienumi: Avots un Refaktors.

    Java izstrādes rīki (JDT)

    Lai izmēģinātu Java izstrādes vidi, mēs izveidosim un palaidīsim aplikāciju ar nosaukumu "Hello World". Java perspektīvā ar peles labo pogu noklikšķiniet uz mapes ar projekta avota testu "Sveiki" (src) un atlasiet Jauns > Klase, kā parādīts 3. attēlā. Parādītajā dialoglodziņā ievadiet Hello kā klases nosaukumu. Zemāk ir uzraksts Kuras metodes stubs jūs vēlētos izveidot? (Kādus metodes stubs vēlaties izveidot?) Piezīme publiska statiskā tukšuma galvenā (virknes args) un noklikšķiniet Pabeigt.

    3. attēls. Jaunas klases izveide Java perspektīvā

    Tādējādi tiks izveidots .java fails ar Hello klasi un tukšu main() metodi redaktora apgabalā, kā parādīts 4. attēlā. Pievienosim metodei šādu kodu (ņemiet vērā, ka i apraksts ir apzināti izlaists).

    4. attēls. Hello klase Java redaktorā

    Rakstot jūs pamanīsit dažas Eclipse redaktora funkcijas, tostarp sintakses pārbaudi un automātisko koda pabeigšanu. Arī tad, kad ievadāt sākuma iekavas vai dubultpēdiņas, Eclipse automātiski ievieto tiem noslēdzošo pāri un novieto kursoru vidū.

    Citos gadījumos varat izraisīt automātisku koda pabeigšanu, izmantojot kombināciju Ctrl+1. Koda pabeigšanas funkcija nodrošina kontekstjutīgu opciju sarakstu, no kurām varat izvēlēties, izmantojot tastatūru vai peli. Opcijas var būt metožu saraksts, kas raksturīgas konkrētam objektam, vai koda fragments, kura pamatā ir dažādas atslēgvārdi, piemēram, uz laiku vai kamēr .

    Sintakses pārbaude ir atkarīga no pakāpeniskas kompilācijas. Saglabājot kodu, tas tiek kompilēts fons un pārbaudīja, vai nav sintakses kļūdu. Pēc noklusējuma sintakses kļūdas tiek pasvītrotas sarkanā krāsā un kreisajā malā parādās sarkans punkts ar baltu X. Pārējās kļūdas redaktora malā ir atzīmētas ar spuldzītes simbolu; šīs ir problēmas, kuras redaktors var novērst jūsu vietā (funkcija, ko sauc par ātro labojumu).

    Iepriekš minētajā kodā blakus priekšrakstam ir redzama spuldzes zīme, jo i apraksts tika izlaists. Veicot dubultklikšķi uz spuldzes, tiks parādīts ieteikto labojumu saraksts. Mūsu gadījumā mums tiks lūgts izveidot klases lauku i, lokālo mainīgo i vai parametru i metodei; ar peli atlasot kādu no šīm opcijām, tiks parādīts kods, kas tiks ģenerēts. 5. attēlā parādīts ieteikto opciju saraksts un ieteiktais kods lokālā mainīgā gadījumā.

    5. attēls. Ātrās labošanas opcijas

    Veicot dubultklikšķi uz teikuma, kods tiek ievietots vēlamajā programmas vietā.

    Ja programma tiek kompilēta bez kļūdām, varat to palaist, atlasot Skrien izvēlnē Eclipse. (Ņemiet vērā, ka kompilācijai nav atsevišķas darbības, jo kompilācija notiek, saglabājot kodu. Ja kodā nav sintakses kļūdu, tas ir gatavs palaišanai.) Parādās dialoglodziņš Launch Configurations ar vēlamajiem noklusējuma iestatījumiem; klikšķis Skrien apakšā pa labi. Parādās apakšējā panelī jauns panelis ar cilnēm (konsole), parādot programmas rezultātu, kā parādīts zemāk.

    6. attēls. Programmas rezultāts

    Programmu var palaist arī Java atkļūdotājs. Vispirms ir jāiestata pārtraukuma punkts programmā main() System.out.println(), veicot dubultklikšķi uz pelēkā lodziņa rediģēšanas loga kreisajā pusē blakus izsaukumam System.out.println(). Parādīsies zils punkts. Izvēlnē Skrien izvēlieties komandu Atkļūdošana. Kā aprakstīts iepriekš, tiks parādīts dialoglodziņš "Palaist konfigurācijas". Izvēlieties komandu Skrien. Perspektīva automātiski mainīsies uz atkļūdošanas perspektīvu, kurā ir vairāki interesanti jauni skati, kā parādīts tālāk.

    7. attēls. Atkļūdošanas perspektīva

    Ievērojiet atkļūdošanas skatu perspektīvas augšējā kreisajā stūrī. Šis skats parāda izsaukumu steks, un virsrakstjoslā ir rīkjosla, kas ļauj kontrolēt programmas izpildi. Panelī ir pogas, lai turpinātu, apturētu vai beigtu programmu, pārietu uz nākamo priekšrakstu, pārietu uz nākamo priekšrakstu vai atgrieztos no metodes. Augšējā labajā panelī ir vairāki skati ar cilnēm, tostarp mainīgie, pārtraukuma punkti, izteiksmes un displejs. Tagad ir atlasīta cilne Mainīgie, lai mēs varētu redzēt mainīgā i pašreizējo vērtību.

    Vairāk Detalizēta informācija jebkuru skatu var iegūt, izmantojot konteksta norādes; Lai to izdarītu, noklikšķiniet uz skata nosaukuma un nospiediet F1.

    Papildu spraudņi

    Papildus JDT tipa spraudņiem lietojumprogrammu rediģēšanai, kompilēšanai un atkļūdošanai ir arī spraudņi, kas atbalsta visu izstrādes procesu: modelēšanu, veidošanas automatizāciju, vienību testēšanu, veiktspējas testēšanu, versiju izveidi un konfigurācijas pārvaldību.

    Eclipse ietver spraudni darbam ar vienlaicīgu versiju sistēmu (CVS) pirmkoda pārvaldībai. Komandas spraudnis izveido savienojumu ar CVS serveri, ļaujot izstrādes komandas dalībniekiem strādāt ar failu kopu, kas satur avota kodu, netraucējot citu veiktajām izmaiņām. Šeit mēs sīkāk neizpētīsim avotu pārvaldību no Eclipse, jo tas prasīs CVS servera instalēšanu, lai gan iespēja atbalstīt izstrādātāju komandu, nevis tikai pašattīstības, ir svarīga un neatņemama Eclipse sastāvdaļa.

    Spraudņus, kurus uztur un izplata Eclipse Foundation, var atrast Eclipse vietnē. Lielākā daļa pilns saraksts pieejamie spraudņi ir pieejami Eclipse Plug-in Central lapā, kas kalpo kā spraudņu direktorija.

    Eclipse platformas arhitektūra

    Eclipse platformā ir jaudīgs spraudņu komplekts (sk. 8. attēlu), kas atbalsta tādus projektus kā JDT un PDE.

    8. attēls. Eclipse platformas vienkāršota arhitektūra

    Tumši zilie bloki apzīmē komponentus, kas ir galvenie Eclipse bagātīgās klientu platformas (RCP) elementi. Pats RCP jēdziens neietilpst šī raksta darbības jomā, taču uzskatīsim, ka RCP ir vienkārši Eclipse spraudņu kopa, ko cilvēki var izmantot, izstrādājot tādas lietojumprogrammas kā Lotus Notes® 8. Gaiši zilie bloki ir neobligāti (lai gan ieteicams). komponenti, kas jāiekļauj RCP lietojumprogrammās. Un pelēkie bloki ir pilnīgi neobligāti. Platforma sastāv no vairākiem komponentiem, mēs apskatīsim dažus no tiem:

    Izpildes laiks Runtime ir kods, kas definē Eclipse spraudņa modeli, pamatojoties uz OSGi specifikāciju un paplašinājumu un paplašinājumu punktu ideju. Runtime nodrošina arī papildu pakalpojumus, piemēram, syslogging un vienlaicīgumu. JFace/SWT Standarta logrīku rīkkopa (SWT) ir logrīku kolekcija, kas nodrošina Eclipse lietotāja saskarni un funkcionalitāti. JFace ir vienkārši SWT superkopa, kas nodrošina vairākas Model-View-Controller (MVC) klases, lai atvieglotu grafisko lietojumprogrammu izstrādi. Darba galds Darba vieta piešķir Eclipse savu personību. Tieši šajā līmenī tiek īstenots skatījumu, perspektīvu un tādu lietu jēdziens kā logu rediģēšana. Palīdzība (lietotāju atbalsts) Šis Eclipse komponents ļauj nodrošināt atbalstu saviem lietotājiem. To var izdarīt, izmantojot palīdzības sistēmu, kas lietotājiem ļauj meklēt palīdzības dokumentāciju, vai izmantojot "krāpšanās lapas", kuras galalietotājiem var parādīt kā interaktīvus uzdevumu sarakstus. Atjaunināt Atjaunināšanas komponents nodrošina iespēju Eclipse atjaunināt lietojumprogrammas no vienas versijas uz citu. Komanda Komandas komponents ir infrastruktūra, kas ļauj izstrādes uzņēmumiem savienot savas versiju kontroles sistēmas. Pakalpojumu sniedzēja ieviešanas paraugs ir Eclipse iebūvētais CVS spraudnis.

    Secinājums

    No sākotnējā koda, ko uzrakstīja IBM, Eclipse ir kļuvusi par pilnībā aprīkotu atvērtā pirmkoda ekosistēmu, kurā piedalās vairāk nekā 100 uzņēmumu. Pārnēsājama, paplašināma, atvērtā pirmkoda infrastruktūra — vairs nav jauna ideja, taču, pateicoties tā pārdomātajam, robustajam un elegantajam dizainam, Eclipse iegūst pilnīgi jaunu dinamiku.

    Laipni lūdzam Eclipse ekosistēmā. Mūsu mērķis bija palīdzēt jums iegūt ātrumu Eclipse platformā. Mēs to esam panākuši, izmantojot ievadtekstu un vienkāršu vingrinājumu. Izmantojiet zināšanas, ko iegūstat, lasot šo rakstu, un kļūstiet par aktīvu Eclipse ekosistēmas dalībnieku.

    Eclipse Project ir atvērtā pirmkoda tīmekļa vietnes projekts, ko pārrauga Projektu vadības komiteja (PMC) un projektu vadītāji. Darbs tiek veikts apakšprojektos, kas strādā pret . Eclipse projekta hartā ir aprakstīta projekta organizācija, dalībnieku lomas un pienākumi, kā arī projekta augstākā līmeņa izstrādes process. JDT un PDE ir Eclipse platformas spraudņu rīki. Šīs trīs daļas kopā veido Eclipse SDK — pilnīgu izstrādes vidi uz Eclipse balstītiem rīkiem un pašas Eclipse izstrādei.

    • Eclipse projekta izstrāde
      Izlaidiet plānus un citu informāciju par Eclipse Project izstrādes procesu.

    • Lejupielādējiet Eclipse SDK, Eclipse RCP, SWT, Eclipse Java kompilatoru un daudz ko citu. Pašreizējo izlaidumu varat atrast šeit. Vai arī lejupielādējiet jaunākās stabilās un integrācijas versijas, ja vēlaties izmēģināt jaunākās izstrādes stadijā esošās funkcijas vai sākt sniegt ieguldījumu projektā.

    • Pārlūkojiet Eclipse Project izlaidumos iekļauto dokumentāciju.

    Apakšprojekti


    • Platforma definē ietvaru un kopīgu pakalpojumu kopu, kas kopā veido "integrācijas aprīkojumu", kas nepieciešams, lai atbalstītu Eclipse izmantošanu kā komponentu modeli, kā bagātīgu klientu platformu () un kā visaptverošu rīku integrācijas platformu. Šajos pakalpojumos un ietvaros ietilpst standarta darbgalda lietotāja interfeisa modelis un pārnēsājamo vietējo logrīku rīkkopa, projektu modelis resursu pārvaldībai, automātiska resursu delta pārvaldība pakāpeniskiem kompilatoriem un veidotājiem, no valodas neatkarīga atkļūdošanas infrastruktūra un infrastruktūra sadalītai vairāku lietotāju versiju resursu pārvaldībai. .

    • JDT nodrošina platformas rīku spraudņus, kas ievieš Java IDE pieredzējušiem lietotājiem, kas atbalsta jebkuras Java lietojumprogrammas, tostarp Eclipse spraudņu, izstrādi. JDT Eclipse platformai pievieno Java projektu jēdzienu un Java perspektīvu, kā arī vairākus skatus, redaktorus, vedņus, veidotājus un kodu apvienošanas un pārveidošanas rīkus. JDT ļauj Eclipse būt par izstrādes vidi sev. Pašus JDT spraudņus var arī paplašināt citi rīku ražotāji.

    • PDE projekts nodrošina vairākus skatus un redaktorus, kas atvieglo Eclipse spraudņu izveidi. Izmantojot PDE, varat izveidot spraudņa manifesta failu (plugin.xml), norādīt spraudņa izpildlaiku un citus nepieciešamos spraudņus, definēt paplašinājuma punktus, tostarp to īpašo marķējumu, saistīt XML shēmas failus ar paplašinājuma punkta marķējumu. lai varētu apstiprināt paplašinājumus, izveidot paplašinājumus citos spraudņa paplašinājuma punktos utt. PDE padara spraudņu integrēšanu vienkāršu un jautru.

    • e4 projekts ir inkubators Eclipse platformas nākamās paaudzes izstrādei. e4 projekta misija ir izveidot nākamās paaudzes platformu plaši izplatītām, uz komponentiem balstītām lietojumprogrammām un rīkiem.