Пређи на садржај

Xcode

С Википедије, слободне енциклопедије
Xcode
Датотека:Xcode 4.6.png
МоделИнтегрисано развојно окружење
Аутор(и)Epl
Актуелна верзија9.2
Датум актуелне верзије04.12.2017.
Оперативни системиMac OS X 10.3 и каснији
ЛиценцаFreeware са open source компонентама
Веб-сајтhttps://developer.apple.com/xcode/

Ekskod je integrisano razvojno okruženje (IRO), koje je razvila kompanija Epl, a sadrži pakete alata za razvoj softvera za macOS, iOS, watchOS i tvOS. Prva verzija je izdata 2003. godine, a poslednje stabilno izdanje je verzija 9.2 koja je dostupna na Mac App Store i besplatna je za korisnike macOS High Sierra i macOS Sierra operativnih sistema. Registrovani softver developeri mogu preuzeti početnu verziju i prethodne verzije paketa na sajtu Apple Developer.

Glavne karakteristike

ekskod podržava izvorne kodove programskih jezika C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit i Swift, sa mnoštvom programskih modela, uključujući Cocoa, Carbon i Java, ali nije ograničen samo na njih. Nezavisni proizvođači su dodali podršku za GNU Pascal, Free Pascal, Ada, C#, Perl i D. Zahvaljujući Mach-O izvršnom formatu, koji dozvoljava fat binary datoteke, koje sadrže kod za različite arhitekture, ekskod može da generiše univerzalne binarne datoteke koje dozvoljavaju softveru da se izvršava i na PowerPC i na platformama baziranim na Intel procesorima (x86) i koje sadrže i 32-bitni i 64-bitni kod za obe arhitekture. Korišćenjem iOS SDK, ekskod se takođe može upotrebiti za kompajliranje i debagovanje aplikacija za iOS koje se izvršavaju na procesorima sa ARM arhitekturom. ekskod sadrži GKI alat Instruments, koji se izršava povrh radnog okvira za dinamičko praćenje, DTrace-a, koji je razvila kompanija Sun Microsystems i objavila ga kao deo OpenSolaris operativnog sistema.

Struktura

Glavna aplikacija programskog paketa je integrisano razvojno okruženje (IRO), poznato kao ekskod. Ekskod paket uključuje većinu Eplove razvojne dokumentacije i ugrađeni Interface Builder, aplikaciju koja se koristi za projektovanje grafičkih korisničkih interfejsa (GKI). Do verzije ekskod 4.1 ekskod paket je sadržao prilagođenu verziju GNU Compiler Collection-a. Od verzije ekskod 3.1 do verzije ekskod 4.6.3, sadržao je LLVM-GCC kompajler sa čeonim (front-end) programima iz GNU Compiler Collection-a i generator koda koji za osnovu ima LLVM. Ekskod 3.2 i kasnije varijante sadržale su Clang C/C++/Objective-C kompajler, sa novonastalim čeonim programom (front-end) i generatorom koda koji za osnovu ima LLVM, a sadržao je i Clang statički analizator. Od verzije ekskod 4.2 Clang kompajler je postao podrazumevani kompajler, a od verzije ekskod 5.0, Clang je jedini podržani kompajler.

Do verzije ekskod 4.6.3, ekskod paket je koristio GNU Debager (GDB) kao pozadisnki program (back-end) debagera razvojnog okruženja. Počevši od verzije ekskod 4.3, ponuđen je i LLDB debager, a od verzije ekskod 4.5 GNU Debager je zamenjen LLDB debagerom kao podrazumevanim pozadinskim programom debagera razvojnog okruženja. Od verzije ekskod 5.0, GNU Debager više nije podržan.

Uklonjene karakteristike

Prethodno, ekskod je podržavao deljenje procesa bildovanja programa na više sistema. Jedna od korišćenih tehnologija zove se Shared Workgroup Build, i koristila je Bonjour protokol kako bi automatski pronašla sisteme koji omogućavaju usluge kompajliranja kao i izmenjenu verziju besplatnog softvera distcc kako bi se olakšala raspodela posla. Ranije verzije ekskod-a su podržavale sistem pod imenom Dedicated Network Builds. Ove opcije ne postoje u trenutno podržanim verzijama ekskod-a.

ekskod takodje sadrži Eplove WebObjects alate i programske okvire za generisanje Java veb aplikacija i veb usluga (ranije su prodavane kao zasebne usluge). Od verzije ekskod 3.0, Apple je prekinuo razvoj WebObjects-a unutar ekskod-a - umesto njega bi trebalo koristiti WOLips. Ekskod 3 i dalje sadrži WebObjects programske okvire.