V konkurenčnem svetu mobilnih operacijskih sistemov se boj med Apple iOS/iPadOS in Google Android je bil stalen vir razprav in preferenc med uporabniki, čeprav mnogi od Primerjave so se bolj osredotočale na namizne operacijske sisteme.
Vsak od teh sistemov ponuja edinstvene izkušnje in značilne lastnosti, od zasnove do funkcionalnosti. V tem članku bomo raziskali podrobno tehnično primerjavo med iOS/iPadOS in Androidom, pri čemer bomo preučili bolj tehnični vidiki da bi jih spoznali od znotraj in jim tako na nek način pomagali pri izbiri, čeprav brez zanašanja na favoriziranje ...
Kaj je iOS?
iOS (prej iPhone OS) Gre za mobilni operacijski sistem, ki ga je podjetje Apple Inc. razvilo izključno za svoje naprave. Prisoten je v napravah iPhone in iPod Touch (ukinjen sredi leta 2022). Je drugi najpogosteje uporabljen mobilni operacijski sistem na svetu, takoj za Androidom.
Služi tudi kot osnova za tri druge operacijske sisteme, ki jih je ustvaril Apple: iPadOS, tvOS in watchOSIn čeprav gre za lastniško programsko opremo, so deli odprtokodni v skladu z licenco Apple Public Source License in drugimi licencami.
Bilo je izdan leta 2007 za prvi iPhoneiOS je bil od takrat razširjen in podpira tudi druge naprave Apple, kot sta iPod Touch (september 2007) in iPad (predstavljen januarja 2010, na voljo aprila 2010). Od marca 2018 trgovina Apple App Store vsebuje več kot 2.1 milijona aplikacij za iOS, od katerih je milijon izvornih za iPade. Te mobilne aplikacije so bile skupaj prenesene več kot 130 milijardkrat. Glavne različice iOS-a izidejo vsako leto, trenutna stabilna različica, iOS 17, pa je bila javnosti izdana 18. septembra 2023.
Vendar pa njegovi začetki segajo dve leti prej, saj je leta 2005 Steve Jobs začel načrtovati prihodnji iPhone, zato je moral organizirati razvojno ekipo novega operacijskega sistema, za katero bi združil tako razvojno ekipo macOS-a kot iPoda, ki sta jo vodila Scott Forstall oziroma Tony Fadell. notranje tekmovanje poskusiti ustvariti zelo okrnjen macOS ali poskusiti razširiti sistem iPod.
Forstall je zmagal z ustvarjanjem iPhone OS, kar je omogočilo uspeh iPhona kot platforme za razvijalce tretjih oseb. Operacijski sistem je bil predstavljen skupaj z iPhonom na konferenci Macworld Conference & Expo 9. januarja 2007 in izdan junija istega leta.
Licenciranje in razvoj
Čeprav sta iOS/iPadOS operacijska sistema zaprto ali lastniško, ki ga je licenciral Apple. Obstajajo tudi nekateri odprtokodni deli, povezani s tem sistemom, kot je Darwin, ki je licenciran pod licenco Apple Public Source License (APSL), brezplačno in odprtokodno licenco, čeprav ni združljiv z licenco GNU GPL.
Apple je jedro XNU naredil odprtokodno pod licenco BSD 3-klavzula za originalne dele, podedovane iz sistema BSD, medtem ko so deli, ki jih je dodal Apple, licencirani pod licenco APSL. Vendar pa različice jedra v sistemu iOS niso javno dostopne.
Kar zadeva razvoj, se za nekatere stvari v jedru uporablja zbirni jezik, pa tudi programski jeziki. C, C++, Objective-C in Swift Kar zadeva aplikacije, kot morda veste. Vse, kar je povezano z operacijskim sistemom, razvija Apple sam; vendar aplikacije drugih ponudnikov razvijajo najrazličnejši posamezniki, skupine in podjetja.
Da bi razvijalcem olajšal ustvarjanje združljivih aplikacij, ima Apple Komplet za razvoj programske opreme (SDK) za iOSSprva izvršni direktor Appla Steve Jobs ni načrtoval, da bi razvijalcem tretjih oseb dovolil ustvarjanje izvornih aplikacij za iOS, vendar je po pritisku razvijalcev oktobra 2007 napovedal, da bo komplet za razvoj programske opreme na voljo do februarja 2008. Morda je ta odločitev rešila operacijski sistem, saj bi bil brez njega ekosistem aplikacij zanj zelo slab in bi se Android sesul.
SDK je na voljo za macOS. Omogoča dostop do različnih funkcij in storitev naprav iOS/iPadOS ter simulator za te mobilne naprave za testiranje aplikacij med razvojem. Naročnina na program za razvijalce Apple Za testiranje, pridobitev tehnične podpore in distribucijo aplikacij prek trgovine App Store morate plačati pristojbino, ki je veliko višja od pristojbine, plačane za objavo v trgovini Google Play.
En nastavljeno z XcodeiOS SDK pomaga razvijalcem pisati aplikacije za iOS z uporabo uradno podprtih programskih jezikov, kot sta Swift in Objective-C. Tudi druga podjetja so ustvarila orodja, ki omogočajo razvoj izvornih aplikacij za te sisteme z uporabo njihovih programskih jezikov.
Jedro ali jedro
Jedro sistema iOS/iPadOS je jedro XNU (XNU ni Unix). Različice XNU temeljijo na različnih različicah Darwina, jedro pa je zasnovano v skladu z ASLR (Address Space Layout Randomization), kar otežuje možnosti izkoriščanja ranljivosti, saj ne poznajo pomnilniških naslovov, kjer se jedro nahaja, kar imamo med drugim tudi v Linuxu.
iOS nima razširitev jedro (kexts) V datotečnem sistemu zagonski nalagalnik (iBoot) naključno izbere osnovno sliko jedra, sčasoma pa so se različice jeder sistemov iOS/iPadOS in macOS zbližale, saj je iOS uvedel nove funkcije, ki so bile kasneje vključene tudi v macOS. Zdi se, da Apple postopoma združuje jedra, da bi dosegel konvergenco, ki si jo Microsoft in celo Canonical v svetu Linuxa že dolgo želita, oziroma da bi dosegel nekaj podobnega Googlovemu ChromeOS-u.
XNU razvija Apple Inc. od decembra 1996 za uporabo v operacijskem sistemu macOS in je izdan kot brezplačna programska oprema z odprto kodo kot del Darwinov operacijski sistemIn kasneje je postal tudi osnova za preostale operacijske sisteme podjetja.
Za tiste, ki še vedno ne vedo, kaj je Darwin, gre za osrednji operacijski sistem, podoben Unixu, ki je prvotno obstajal kot neodvisen odprtokodni operacijski sistem in je sestavljen iz kode, izpeljane iz NeXTSTEP, BSD, Mach in druge projekte brezplačne programske opreme, pa tudi kodo, ki jo je razvil sam Apple.
To je hibridno jedro ki uporablja OSFMK 7.3 (Open Software Foundation Mach Kernel) iz OSF, elemente FreeBSD in objektno usmerjen vmesnik za programiranje gonilnikov, imenovan I/O Kit. Ta hibridna zasnova združuje prilagodljivost mikrojedra z zmogljivostjo monolitnega jedra.
Razvojno okolje XCode, čeprav je očitno lastništvo Appla, za dejansko prevajanje uporablja odprtokodna orodja GCC ali LLVM.
Treba je povedati, da čeprav je XNU združljiv z arhitekturo AMD64 in IA-32, je bil končno prenesen na Apple Silicon (ARM), zdaj pa je bila podpora za druge starejše arhitekture opuščena zaradi poenostavitve arhitekture. Poleg tega arhitekture x86 ne bi imele smisla na mobilnih napravah, kot je to v tem primeru. Več o tem kasneje ...
BSD del jedra zagotavlja programski vmesnik za POSIX aplikacije (API-ji), procesni model Unixa za naloge Mach, osnovne varnostne politike, virtualne datotečne sisteme, lokalne datotečne sisteme in omrežne protokole, med drugim. Komplet I/O je ogrodje za gonilnike naprav, napisano v podmnožici jezika C++, ki temelji na vgrajenem jeziku C++. Ponuja objektno usmerjeno zasnovo, ki olajša pisanje gonilnikov v krajšem času in z manj kode, je večnitni, simetrično omogočen za večprocesorske sisteme in omogoča samodejno konfiguracijo naprav.
Podprta arhitektura
Tako imenovani Apple Silicon, tako v seriji M za računalnike kot tudi v Serija A za mobilne naprave, med drugim serije, temeljijo na arhitekturi ARM ali ISA, vendar ne gre za čisti ARM. Apple je dodal tudi svoja specifična navodila in razširitve za optimizacijo delovanja glede na svoje potrebe. In XNU je bil optimiziran za ta ISA, s čimer je dosegel najboljšo zmogljivost in učinkovitost.
To pomeni, da Apple prilagaja svoje procesorje, čeprav je v bistvu to ISA ROKA skoraj v celoti. Vendar pa so te majhne razlike, skupaj z dejstvom, da gre za kompleksen SoC z drugimi vključenimi komponentami, razlogi, zakaj binarne datoteke, prevedene za čisti ARM, na teh napravah ne delujejo.
V bistvu so Applovi čipi zasnovani na ARMv8 trenutno, čeprav sta se prej uporabljala tudi ARMv7-A in ARMv6.
Datotečni sistem APFS
Apple datotečni sistem (APFS) Gre za lastniški datotečni sistem, ki ga je razvilo in uporablja podjetje Apple Inc. v sistemih macOS, iOS, watchOS, tvOS in iPadOS. APFS je bil zasnovan za odpravljanje temeljnih težav s HFS+ in je optimiziran za novejše bliskovne pogone.
Napovedano na Applovi konferenci za razvijalce junija 2016. Sistem uporablja 64-bitne številke i-vozlišč in ponuja varnejše shranjevanjeAPFS uporablja ukaz TRIM za boljše upravljanje prostora in zmogljivost. Uporablja shemo particij GPT, z vsebniki APFS in nosilci APFS znotraj njih. Ponuja učinkovito kloniranje, posnetke, izvorno šifriranje in podporo za več možnosti šifriranja. Osredotoča se tudi na integriteto podatkov, zaščito pred izpadom in pregledno stiskanje. Vendar pa nekatere omejitve vključujejo pomanjkanje kontrolnih vsot za uporabniške podatke, počasnejše delovanje trdih diskov in znane težave ali ranljivosti.
Grafični vmesnik
Čeprav o imenu grafičnega uporabniškega vmesnika za večdotične zaslone na dotik ni znanih podrobnosti, kot je znano za macOS, ki se imenuje Aqua, vemo pa, da ogrodje obstaja. UIKit, ki ponuja različne funkcije za razvoj aplikacij in zagotavlja komponente, ki omogočajo izgradnjo glavne infrastrukture aplikacij za te operacijske sisteme.
UIKit vključuje tudi podporo za animacije, dokumente, risanje in tiskanje, upravljanje in prikaz besedila, iskanje, razširitve aplikacij, upravljanje virov in pridobivanje informacij o trenutni napravi. Omogoča vam prilagajanje podpore za dostopnost in lokalizacijo vmesnika aplikacije za različne jezike, države ali kulturne regije. Poleg tega UIKit brezhibno deluje z ogrodje SwiftUI, kar vam omogoča, da dele aplikacije implementirate v SwiftUI ali pa kombinirate elemente vmesnika med obema ogrodjema.
Mobilne storitve Apple
O tem ni preveč podrobnosti »Apple mobilne storitve«, Pravzaprav ni nobene omembe imena, kot je to v primerih Android in GMS ali Google Mobile Services. Vendar pa vemo, da vključuje vrsto osnovnih storitev in aplikacij.
Poleg osnovnih storitev za mobilni telefon imamo tudi komplet prednameščenih aplikacij, klicev vgrajen, kot so Kamera, Fotografije, Sporočila, Pošta, Safari, Zemljevidi, Siri, Koledar, App Store, Stiki, Adresar, Ura, Kalkulator, Najdi moj iPhone, Datoteke itd.
Aplikacije in trgovina z aplikacijami
Kot sem že omenil, se trgovina z aplikacijami, iz katere lahko prenesete vse programe in videoigre, ki so na voljo za to platformo, imenuje Apple App Store, kot veste.
Kar zadeva razpoložljive aplikacije, jih je zelo veliko in vse so programirane v frazemi:
- Objective-C je eden najbolj priljubljenih programskih jezikov za razvoj aplikacij za iPhone. Gre za objektno usmerjen jezik, ki temelji na jeziku C in se uporablja skupaj z Xcode in Cocoa za ustvarjanje aplikacij za iOS. Cocoa je programski vmesnik, napisan v jeziku Objective-C, ki upravlja pomnilnik in sledi modelu MVC. Čeprav je Objective-C že dolgo standard, je Apple leta 2010 dovolil uporabo interpretirane kode v iOS SDK.
- Swift pa je novejši jezik, zasnovan tako, da je uporabniku prijaznejši od Objective-C. Velja za prihodnost razvoja aplikacij za iOS in je pridobil na priljubljenosti zaradi enostavne uporabe in čistejše sintakse. Velika podjetja, kot sta Firefox in WordPress, so sprejela Swift, v prihodnjih letih pa naj bi še več podjetij prešlo z Objective-C na Swift.
Poleg tega so v sistemu Android paketi znani kot .apk, v sistemu Apple pa imamo .ipaIme izvira iz paketa iOS App Store in je preprosta stisnjena datoteka ZIP, ki vsebuje aplikacijo. In razen če uporabite jailbreak, aplikacij, prenesenih iz virov tretjih oseb, iz varnostnih razlogov ni mogoče namestiti pod nobenim pogojem.
Beg iz zapora
Kot morda veste, so mobilni operacijski sistemi, kot sta iOS/iPadOS in Android, močno "zaklenjeni" – ste neprivilegiran uporabnik – da bi se izognili varnostnim težavam. Vendar to omejuje tudi vaše zmogljivosti in nekateri izvajajo "jailbreak", da bi pridobili privilegije, kar je znano kot "odklepanje". zapor, ekvivalent Android root-a.
iOS je bil od svoje izdaje podvržen različni hekerski triki zasnovano za dodajanje funkcionalnosti, ki jih Apple ni dovoljeval. Pred pojavom trgovine iOS App Store leta 2008 je bil glavni razlog za jailbreak obhod Applovega mehanizma nakupa za nameščanje izvornih aplikacij. Čeprav je Apple trdil, da ne izdaja posodobitev programske opreme, posebej zasnovanih za razbijanje teh orodij, je vsaka posodobitev iOS pogosto popravljala prej nepopravljene izkoriščanja jailbreaka.
Jailbreaking vključuje izkoriščanje in popravljanje jedra naprave vsakič, ko se ta zažene, saj iOS ob zagonu najprej naloži svoje jedro. Obstajajo različne vrste jailbreaka, pri čemer je najobsežnejši nevezani jailbreak, ki omogoča ponovni zagon naprave brez računalnika. Nevezani jailbreaki delujejo le začasno za en sam zagon. V zadnjih letih so se pojavile delno povezane in delno nevezane rešitve, ki ponujajo različne možnosti v tem, kako dobro se spremembe naprave ohranijo med ponovnimi zagoni.
Kaj je iPadOS? Razlike med iOS in iPadOS
iPad Še vedno gre le za spremenjen iOS za tablične računalnike. Čeprav podpira aplikacije za iOS in si večino kodne baze deli s širšo družino platform iOS, vključno s tvOS, watchOS in originalnim iOS-om za iPhone, ima iPadOS nekaj ključnih razlik v smislu funkcij in zmogljivosti.
Za razliko od iOS-a za iPhone je iPadOS optimiziran za uporabo tabličnih računalnikov in ponuja funkcije, specifične za tablične računalnike. večopravilnost in razširljivostiPadOS na primer podpira način deljenega zaslona in lahko deluje z zunanjimi zasloni, kar v sistemu iOS za iPhone ni na voljo. Poleg tega iPadOS podpira Apple Pencil in ima izvorni spletni način namizja, kar v sistemu iOS za iPhone ni na voljo.
Kljub tem izboljšavam ima iPadOS v primerjavi z iOS-om za iPhone nekaj omejitev. Na primer iPadOS ni združljiv z Apple Watch in zahteva povezan iPhone za funkcije, kot so telefonski klici in iMessages/SMS. Združljivost aplikacij se prav tako razlikuje, saj lahko iPadOS večino aplikacij, zasnovanih za iOS, izvaja v načinu združljivosti, iPhone pa ne more izvajati aplikacij, zasnovanih posebej za iPadOS.
V smislu varnostiPadOS vključuje sodobne funkcije, kot so biometrična avtentikacija, varno shranjevanje gesel in plačil, podpora za VPN in IPv6, blokiranje sledenja tretjih oseb, šifriranje varnostnih kopij in šifrirano shranjevanje v oblaku, med drugim.
Kar se tiče njene zgodovine, sega v leto začetek leta 2019, ko se je Apple odločil, da bo operacijski sistem iPada razlikoval od iPhona. Z leti so bile uvedene pomembne izboljšave, kot so način Sidecar za uporabo iPada kot zunanjega zaslona, optimizacije miške in sledilne ploščice ter nove funkcije večopravilnosti, kot je Stage Manager v iPadOS 16, ki omogoča delovanje do štirih aplikacij v enem samem namiznem vmesniku.
En V poslovnem smislu je iPadOS morda izvedljiva možnost za specifične primere uporabe, kot so zamenjava prenosnih računalnikov, kioski za prijavo, informacijski zasloni na delovnem mestu ali sistemi prodajnih mest (POS). Vendar pa je njegova primernost odvisna od specifičnega primera uporabe, saj iPadOS ne more izvajati namiznih aplikacij za macOS in je omejen na aplikacije, zasnovane za platformo iOS.
Na kratko, razlike med iOS-om in iPadOS-om so naslednji, ostalo je skupno:
| Funciones | iOS (iPhone) | iPadOS (iPad) |
| Razdeljen zaslon za aplikacije | Ne | Da |
| Podpora za zunanji zaslon | Ne | Da |
| Prikolica (vnos na zaslonu) | Ne | Da |
| Združljivo z aplikacijami za iPadOS | Ne | Da |
| Združljivo z aplikacijami za iOS | Da | Da |
| Način brez namizja | Ne | Da |
| Stojalo za Apple Watch | Da | Ne |
| Telefonija | Da | Da |
| iMessage / SMS | Da | Da |
| Uporabniški vmesnik Dock na začetnem zaslonu | Ne | Da |
| Videoposnetek slika v sliki (PiP) | Da | Da |
| Safari v načinu namizja | Ne | Da |
| 4G/5G povezljivost | Da | Da (nekatere različice) |
| VoIP / video konference | Da | Da |
| Biometrična varnost | Da | Da |
| Ultra širokopasovni (UWB) | Da | Da |
| Način kioska (način ene aplikacije) | Da | Da |
| Upravitelj mobilnih naprav | Da | Da |
| Podpora za Apple Pencil | Ne | Da |
Kaj je Android?
Android Gre za mobilni operacijski sistem, ki ga je razvil Google (Alphabet) in temelji na spremenjeni različici jedra Linuxa in drugi odprtokodni programski opremi. Zasnovan je predvsem za naprave na dotik, kot so pametni telefoni in tablični računalniki, čeprav je bil nameščen tudi na številnih drugih napravah, kot so TV-sprejemniki, nekateri manjši prenosniki in tako naprej.
Razvil ga je Odprto zavezništvo slušalk, konzorcij razvijalcev, kot so Google sam, LG, SoftBank, Telefónica, HTC, Dell, Sony, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, T-Mobile, NVIDIA itd. Poleg tega ima skupnost, ki prav tako prispeva ali ustvarja lastne forkove (Huaweijev Harmony OS, Baidu, ColorOS, Replicant, /e/, Lineage OS, Amazonov Fire OS, Oneplusov OxygenOS, Remix OS itd.). Predstavljen je bil novembra 2007, prva komercialna naprava, HTC Dream, pa septembra 2008.
Jedro operacijskega sistema je znano kot Odprtokodni projekt Android (AOSP), ki je brezplačna in odprtokodna programska oprema, predvsem pod licenco Apache. Vendar pa večina naprav uporablja lastniško različico, ki jo je razvil Google in vključuje programsko opremo zaprte kode, kot je Googlove mobilne storitve (GMS) in o čemer bom podrobneje razložil kasneje.
Android je bil najbolj uporabljen operacijski sistem na svetu od leta 2011. V mobilnem prostoru daleč prekaša iOS/iPadOS in tudi Windows na namizju za več milijonov uporabnikov.
Zgodovina Androida sega v njegova ustanovitev leta 2003, z začetnim namenom razvoja naprednega operacijskega sistema za digitalne fotoaparate. Po spremembi fokusa je Google leta 2005 prevzel Android. Od takrat je doživel več posodobitev in, kot morda že veste, sprejel imena sladic po abecednem vrstnem redu ...
Poleg konkurence z Applovim sistemom se je soočal tudi z drugimi težavami, kot so na primer patentne tožbe Microsofta zaradi uporabe Datotečni sistem FATPravzaprav je Microsoft s tem zaslužil več denarja kot s svojim operacijskim sistemom Windows Phone, ki se je izkazal za popoln polom.
Licenciranje in razvoj
Android razvija Google, dokler niso na voljo najnovejše spremembe in posodobitve, nakar je izvorna koda na voljo javnosti. Odprtokodni projekt Android (AOSP), ki jo vodi Google kot odprtokodno iniciativo. Koda AOSP se nahaja na izbranih napravah z minimalnimi spremembami, predvsem zato, da bi delovala na določeni strojni opremi.
El Izvorna koda Androida ne vključuje gonilnikov naprav, te doda vsak proizvajalec naprave, pogosto so lastniške in so potrebne za določene strojne komponente.
Kar zadeva licenc, je treba povedati, da je Android večinoma odprtokoden, pod licenco GNU GPLv2 za jedro Linuxa in Apache License 2.0 za programsko opremo uporabniškega prostoraPoleg tega ima brezplačne in lastniške komponente, kot so binarne datoteke blob ali gonilniki, ki jih dodajo proizvajalci naprav za zagotovitev združljivosti, ali podobno kot GMS.
Jedro ali jedro
Jedro Androida temelji na vejah dolgoročne podpore (LTS) jedro linuxDo leta 2023 je Android uporabljal različice 4.14, 4.19, 5.4, 5.10 ali 5.15 jedra Linuxa, prilagojene in pogosto imenovane android13-5.15 ali android-4.19-stable, odvisno od določene naprave. Jedro Androida ima dodatne arhitekturne spremembe, ki jih je Google uvedel zunaj tipičnega razvojnega cikla jedra Linuxa.
Te spremembe vključujejo uvedba komponent kot so drevesa naprav, Ashmem, ION in različni upravljalniki ob pomanjkanju pomnilnika (OOM). Čeprav je Google prispeval nekatere funkcije v jedro Linuxa, kot je funkcija upravljanja porabe energije »wakelocks«, so razvijalci jedra nekatere prispevke sprva zavrnili zaradi pomislekov glede dolgoročne vzdrževalnosti.
Kot morda veste, je jedro Linuxa tipa monolitni, zmožen dinamičnega nalaganja modulov, da deluje podobno kot mikrojedro. Zato ni čist, kot je predlagano v nekaterih dokumentih, ampak se je razvil, da bi se prilagodil spreminjajočim se časom.
Mnogi se bodo spraševali, zakaj Android ni distribucija GNU/Linux, razlog pa je v tem, da ne uporablja ekosistema GNU, temveč temelji samo na Linuxu, in kot nadomestek za GNU ima namesto knjižnice GNU C (glibc) integrirano lupino mksh, izvorni sistem osnovnih orodij, ki ga je navdihnil NetBSD, in knjižnice Bionic libc.
Za tiste, ki ne vedo bionic, ki je razvejana različica standardne knjižnice BSD C, ki jo je Google razvil za Android, s čimer jo izolira od licenc GPL in LGPL. Osredotoča se na to, da je manjša in pomnilniško učinkovitejša od glibc in uClibc, zato je priporočljiva za razvoj za Android z Native Development Kit (NDK). Bionic ima omejitve, kot so pomanjkanje obravnave izjem C++, potreba po ročnem vključevanju knjižnice standardnih predlog (STL) in pomanjkanje podpore za razširjene nabore znakov. Vključuje tudi funkcije, specifične za Android, v nekaterih sistemskih klicih in od različice Android Jelly Bean MR1 (4.2) ponuja podporo za glibc-jev FORTIFY_SOURCE za preprečevanje prelivanja medpomnilnika.
Podprta arhitektura
Čeprav je jedro Linuxa na voljo za množico arhitektur, je bil Android doslej le prenesen na druge platforme. za x86 in ARMVendar pa potekajo tudi dela za zagotovitev podpore za RISC-V.
Natančneje, odkar se je pojavil Android, je bila podpora zagotovljena za prve 32-bitne naprave ARMv7, pa tudi za sodobnejše različice ISA, kot je nova 8-bitni ARMv9 ali ARMv64Seveda podpira tako IA-32 kot AMD64 na strani x86. In kot sem rekel, trenutno se dodaja tudi podpora za RISC-V, kar bo zelo zanimivo ...
Datotečni sistem FAT
Android je združljiv z več datotečnih sistemov ali FS (datotečni sistemi), kot so naslednji:
- FAT32 (tabela dodelitve datotek 32): Je datotečni sistem, združljiv s široko paleto platform. Ima omejitve glede velikosti datotek in particij, zaradi česar je primeren za naprave z manjšimi zmogljivostmi shranjevanja in osnovnimi potrebami.
- Ext3 (tretji razširjeni datotečni sistem): Datotečni sistem, zasnovan za sisteme Linux. V primerjavi s predhodnikom Ext2 zagotavlja izboljšano vzdržljivost in obnovitev z implementacijo beleženja.
- Ext4 (četrti razširjeni datotečni sistem): Je najnovejša različica serije Ext za sisteme Linux. Ponuja izboljšano zmogljivost in možnost obdelave večjih datotek in večjih particij. Ohranja tudi funkcije beleženja dnevnika, ki jih ima Ext3.
- exFAT (razširjena tabela dodelitve datotek): Razvil ga je Microsoft in je datotečni sistem, zasnovan tako, da je združljiv s platformami Windows in odstranljivimi napravami za shranjevanje. Pogosto se uporablja na pomnilniških karticah in USB-ključih ter premaga omejitve velikosti datotek, ki jih ponuja sistem FAT32.
Vendar pa večina trenutnih naprav Android uporablja FAT, zlasti exFAT. Zato Microsoft s prodajo naprav Android z uporabo te tehnologije zasluži veliko denarja. Ostali datotečni sistemi se običajno ne uporabljajo v mobilnih napravah, temveč so rezervirani posebej za Androide x86.
Grafični vmesnik
Material Oblikovanje Material Design je niz oblikovalskih načel in smernic, ki jih je razvil Google za ustvarjanje doslednih in privlačnih vizualnih vmesnikov v aplikacijah in spletnih mestih. Predstavljen je bil leta 2014 in se osredotoča na ustvarjanje intuitivne in vizualno prijetne uporabniške izkušnje. Material Design temelji na ideji, da bi moral vmesnik izgledati in se obnašati enako na vseh platformah in napravah.
Povezava med materialnim oblikovanjem in grafičnim uporabniškim vmesnikom (GUI) sistema Android je tesna, saj Google ga je sprejel kot standardni oblikovalski pristop za aplikacije v operacijskem sistemu Android. Material Design ponuja podrobna navodila o tem, kako strukturirati vmesnik, kako uporabljati barve, tipografijo, animacije in vizualne elemente za ustvarjanje skladne in privlačne izkušnje za uporabnike Androida.
Googlove mobilne storitve
Googlove mobilne storitve (GMS) Gre za zbirko lastniških aplikacij in storitev vmesnikov za programiranje aplikacij (API) podjetja Google, ki so običajno vnaprej nameščene v napravah Android, vključno s pametnimi telefoni, tablicami, pametnimi urami in drugimi. Pomembno je omeniti, da GMS ni del projekta odprte kode Android (AOSP), kar pomeni, da mora proizvajalec Androida pridobiti licenco od Googla, da lahko zakonito namesti GMS v napravo Android.
V zvezi temeljne aplikacije Glavne aplikacije, ki sestavljajo Googlove mobilne storitve, vključujejo Iskanje Google, Google Chrome, YouTube, Google Play, Google Drive, Gmail, Google Meet, Google Zemljevide, Google Foto, Google TV in YouTube Music. Te glavne aplikacije pomembno prispevajo k uporabniški izkušnji v napravah Android in so sestavni del ekosistema, ki ga Google ponuja na svojih mobilnih platformah.
Ker nisem del AOSP-a, Ta MSG je mogoče odstraniti in ga nadomestiti z drugimi podobnimi storitvami tretjih oseb, je to, kar je Huawei storil s svojim HMS po sankcijah, ki so kitajski blagovni znamki preprečile njihovo uporabo, ali pa tudi v drugih izpeljanih sistemih, kot je Amazon FireOS, ki uporablja svoj sistem storitev, ali operacijski sistem /e/, ki temelji na LineageOS in uporablja lokacijske storitve MicroG+Mozilla kot nadomestek za GMS.
Aplikacije in trgovina z aplikacijami
Za začetek je v tem primeru trgovina z aplikacijami in videoigrami Google Play, del storitev Google Play, integriranih v GMS. Iz te trgovine lahko prenesete in namestite vse vrste programske opreme, ki je na voljo za platformo, ter preverite varnost, posodobitve in drugo.
Android temelji na jedru Linuxa, kot sem že omenil, vendar z vmesno programsko opremo, knjižnicami in API-ji, napisanimi v jeziku C, ter aplikacijami, ki delujejo na ogrodju aplikacij, ki vključuje Knjižnice, združljive z JavoPlatforma uporablja Android Runtime (ART) kot svoje izvajalno okolje s prevajanjem pred namestitvijo. Pred ART-om je Android uporabljal Dalvik kot virtualni stroj, preveden po načelu »just-in-time« (JIT). Standardna knjižnica C za Android, Bionic, je bila zasnovana posebej za Android, saj je lažja od glibc in uClibc ter optimizirana za nizkofrekvenčne procesorje.
Google je leta 2012 zaradi licenciranja zamenjal sklad Bluetooth z BlueZ na BlueDroid. Poleg tega Android izvorno nima sistema X Window niti ne podpira celotnega nabora knjižnic GNU. V trenutnih različicah uporablja Škatla z igračami, zbirka pripomočkov ukazne vrstice, in Trusty OS, operacijski sistem znotraj Androida, zagotavljata zaupanja vredno okolje za izvajanje različnih aplikacij, od mobilnih plačil do odkrivanja zlonamerne programske opreme.
Kar se tiče upravitelj paketovV tem primeru se kot upravitelj paketov uporablja Google Play, čeprav lahko varnostne možnosti na lastno odgovornost konfigurirate tako, da sprejemajo pakete iz virov tretjih oseb. Poleg tega je mogoče pod root dostopom namestiti tudi druge trgovine z aplikacijami.
Namestitvene datoteke so v tem primeru .apk. Datoteka APK (paket za Android) To je oblika zapisa, ki jo uporablja operacijski sistem Android, običajno gre za datoteko tipa JAR. Zgrajena je lahko iz izvorne kode Java ali Kotlin in vsebuje vse elemente programa, kot so koda, viri, potrdila in manifest. Datoteke APK je mogoče ustvariti in podpisati iz paketov Android App Bundles.
Root
Root V napravah Android se nanaša na pridobitev privilegiranega dostopa do operacijskega sistema in občutljivih particij, kot je /system/, kar je ekvivalent jailbreaka pri Applu. Za razliko od tipičnih namiznih distribucij Linuxa uporabniki naprav Android nimajo root dostopa do operacijskega sistema, nekatere particije pa so delno samo za branje.
Vendar pa je mogoče pridobiti root dostop z izkoriščanje varnostnih ranljivosti v sistemu Android ali odklepanje zagonskega nalagalnika. Odklepanje zagonskega nalagalnika, ki je na voljo v številnih napravah Android, omogoča dostop root, vendar med postopkom izbriše vse uporabniške podatke. To zmožnost uporablja skupnost odprtokodne programske opreme za izboljšanje zmogljivosti in prilagajanja naprav, lahko pa jo zlonamerni akterji izkoristijo tudi za namestitev virusov in zlonamerne programske opreme.
Povzetek razlik
| Parametri | iOS / iPadOS | Android |
| Razvijalec | Za razvoj je odgovoren izključno Apple. | Za razvoj sta odgovorna združenja Open Handset Alliance (OHA) in Google. |
| začetna izdaja | 2007, natančneje 29. julija. | 2008, natančneje 23. septembra. |
| Družina | Unixu podoben (XNU – Darwin) | Unixu podoben (Linux) |
| Ime prve različice | iOS 1 / iPadOS 13 | Android 1.0 |
| Ciljni sektorji | Za mobilne naprave, kot so iPhone, Applovi pametni telefoni in tablični računalniki iPad. Na voljo je bil tudi za predvajalnike iPod. | Za široko paleto naprav, od mobilnih telefonov do pametnih telefonov in tablic, TV sprejemnikov, pametnih televizorjev, majhnih prenosnikov in še več. |
| Vozniki | iOS in iPadOS sta optimizirana samo, gonilniki pa so vključeni samo za naprave Apple. | Android deluje na najrazličnejših znamkah in modelih, s strojno opremo številnih različnih blagovnih znamk, zato mora vsebovati te gonilnike. Gre za bolj splošno rešitev. |
| Kernel | iOS in iPadOS imata jedro XNU, tako kot macOS. Hibridno jedro | Android uporablja Linux in je monoliten z dinamičnim nalaganjem modulov. |
| licenca | iOS/iPadOS uporablja licence APSL in lastniške (EULA), odvisno od pogodbene stranke. | Android je licenciran pod licenco GNU GPLv2, drugi deli pa pod licenco Apache. |
| Programski jeziki | Za njegov razvoj se uporabljajo jeziki, kot so Objective-C, Swift, C in C++. | Android uporablja Javo, C in C++, čeprav lahko druge komponente vključujejo tudi druge jezike. |
| Posodobi | Z upraviteljem posodobitev OTA | Z upraviteljem posodobitev OTA |
| aplikacije | Aplikacije so razvite z uporabo Swifta. | Aplikacije so razvite v Kotlinu in predvsem Javi. |
| Privzeti spletni brskalnik | Safari | Krom |
| Glasovni asistent | Siri | Googlova pomoč |
| varnost | Temelji na lastnem varnostnem sistemu, aplikacije pa so pred objavo v trgovini App Store filtrirane, da se zagotovi, da niso zlonamerne. Seveda ima sistem za blokiranje virov tretjih oseb zaradi varnosti in sistem dovoljenj. | Temelji na varnostnem sistemu SELinux, aplikacije pa so pred objavo v trgovini Google Play filtrirane, da se zagotovi, da niso zlonamerne. Seveda ima sistem za blokiranje virov tretjih oseb zaradi varnosti in sistem dovoljenj. |
| jeziki | Na voljo v približno 24 različnih jezikih. | Na voljo v več kot 100 različnih jezikih. |
iOS/iPadOS proti Androidu: Prednosti in slabosti obeh
Z zgoraj omenjenimi tehničnimi podrobnostmi bi morali imeti zdaj jasnejšo predstavo o prednosti in slabosti vsakega od njih. Da pa vam bo lažje izbrati pravi operacijski sistem, je tukaj nekaj najpomembnejših prednosti in slabosti vsakega od njih:
- iOS / iPadOSZasnovan je za vse vrste uporabnikov, je zelo enostaven za uporabo in intuitiven, poleg tega pa varen, stabilen in ponuja veliko število aplikacij. Vendar pa lahko prehod z ene platforme na drugo povzroči nekaj težav, zato če ste že prej uporabljali Android in z njim niste zadovoljni, bo prehod na Appleov ekosistem zahteval nekaj prilagoditev. Po drugi strani pa je vredno omeniti naslednje:
- Prednost:
- Optimizacija: iOS/iPadOS, zasnovan posebej za naprave Apple, zagotavlja optimalno integracijo med programsko in strojno opremo. Zaradi tega so zelo hitre in učinkovite naprave.
- kakovostAplikacije in strojna oprema so običajno višje kakovosti in imajo bolj ekskluzivno obliko.
- Varnost: Zaprta struktura in strog nadzor trgovine App Store prispevata k varnejšemu okolju glede zlonamerne programske opreme in groženj, morda celo presegata Android, čeprav ni neranljiva.
- Integriran ekosistem: Brezhibna integracija z drugimi napravami Apple, kot so Mac, iPad, Apple Watch in storitve, kot je iCloud, omogoča zelo dobro izkušnjo v primerjavi s heterogenim ekosistemom, kjer morda ne deluje vse tako dobro.
- Slabosti:
- Omejeno prilagajanje: Prilagoditev sistema in uporabniškega vmesnika je v primerjavi z Androidom bolj omejena. Jailbreaking je tudi bistveno težji.
- Stroški: Naprave Apple so običajno dražje v primerjavi z enakovrednimi možnostmi Android.
- Manjša raznolikost naprav: Apple izdeluje omejeno število naprav, kar lahko omeji izbiro za potrošnike, medtem ko Android ponuja več možnosti.
- Prednost:
- AndroidZasnovan za vse vrste uporabnikov, zelo enostaven za uporabo in intuitiven, pa tudi varen, stabilen in z velikim številom razpoložljivih aplikacij, celo več kot pri Appleu. Enako velja, če ste že vajeni Apple okolja ali imate doma druge Apple naprave, je zaradi enostavnosti in integracije najbolje izbrati iOS/iPadOS. Izpostaviti velja tudi naslednje:
- Prednost:
- Raznolikost naprav: Android je na voljo na široki paleti naprav različnih proizvajalcev, kar ponuja možnosti za različne proračune in želje.
- Napredno prilagajanje: Uporabniki imajo večjo svobodo pri prilagajanju uporabniškega vmesnika in prilagajanju nastavitev svojim željam. Poleg tega boste našli aplikacije, kot so zaganjalniki in številne druge funkcije, ki za pravilno delovanje ne potrebujejo root dostopa.
- Odprtokodno: Ker je odprtokodna, lahko prinese več zaupanja in na voljo so celo ROM-i z jedrom brez binarnih blobov, različice z izboljšavami varnosti in zasebnosti, brez GMS itd.
- Googlove storitve: Apple nima toliko raznolikosti storitev kot Google, nekatere pa so bile poražene, na primer Zemljevidi proti Google Zemljevidom. Na teh napravah boste na primer privzeto našli integracijo z Gmailom, GDrive, YouTubom, Zemljevidi, Chromom, GBoardom, Lensom, Glasbo Play, Fotografijami itd.
- Slabosti:
- Razdrobljenost: Razdrobljenost operacijskega sistema lahko povzroči nedosledno uporabniško izkušnjo, saj proizvajalci uvajajo posodobitve v svojem tempu. Vendar pa večje znamke mobilnih naprav, kot so Google, Samsung in druge, nimajo nobenih težav.
- Spremenljiva varnost: Zaradi raznolikosti naprav in proizvajalcev se lahko varnost razlikuje, zlasti pri starejših ali nižje zmogljivih napravah.
- Manjša optimizacija: Ker mora delovati na tako različnih napravah, ni optimiziran za nobeno specifično napravo, kar lahko vodi do razpršitve funkcij, ki ne delujejo na vseh.
- Prednost:
Seveda že veste, da bo izbira med iOS-om in Androidom odvisna od uporabnikovih individualnih preferenc in dejavnikov, kot so proračun, želena prilagoditev in preferenca za določen ekosistem ...