på WWDC 2015 det fanns en sådan rad nya spännande produkter att många utvecklare har missat en av de största innovationerna presenteras av Apple, - Bitcode.
Sessionen ägnades åt Bitcode, en Apple-representant Andreas Vendker sade Bitcode App Store gör det möjligt att optimera applikationer för olika enheter före lastning användarna. Med andra ord kommer de befintliga program i App Store kunna dra nytta av de nya processorerna utan någon åtgärd på den del av utvecklare, i ett helautomatiskt läge, utan uppdateringen och re publikation.
I praktiken innebär detta följande... Om Apple plötsligt ändra arkitekturen i processorn i en viss enhet, utvecklare inte längre behov av att förnya sitt stöd för dess tillämpning. På grund av det faktum att App Store kommer automatiskt att kompilera programmet kommer de att kunna från dag ett att arbeta med de nya processorerna, oavsett om det är utvecklarna hört talas om deras utseende eller nr.
Vad är Bitcode
Detta är en svår fråga. För att besvara denna fråga, bör du vara medveten om Låg nivå Virtual Machine (LLVM) - universellt system omvandling som används för att konvertera befintliga koden till ursprunglig kod för olika arkitekturer.
LLVM består av två delar: frontend och backend. Den första - ett programspråk som låter dig skapa din ansökan, såsom Objective-C, Swift, Python eller Ruby. Den andra används för att sammanställa ansökan till ursprunglig kod, som är en uppsättning instruktioner förstås av CPU separat tas.
Bitcode är således säregen skiktet, det mellanliggande språk som kan åter kompilera programmet i en uppsättning instruktioner. Bitcode använder LLVM, för att få koden för programmet och överföra den till Bitcode. Tekniken vet också hur man vända denna kod i ett körbart program, baserat på den nödvändiga uppsättning instruktioner.
Enkelt uttryckt, kommer det att låta Apple att lägga till stöd för nya arkitekturer i backend App Store, som kommer att Bitcode, hur man kompilerar ansökan om den nya arkitekturen.
Apple är inte rädd för att ändra arkitekturen av processorer
Som historien visar, Apple - ett av de få företag att framgångsrikt överleva förändringen av arkitekturen i sina nyckelprodukter. Mac linje av datorer har gått igenom det två gånger.
Den största förändringen var övergången till PowerPC-arkitekturen Intel 2005. Apple sjönk från föråldrade hårdvaruplattform, vilket ger utvecklare nya möjligheter och pre-varna dem.
Vi minns övergången till 64-bitars arkitektur av den senaste utvecklingen i iPhone två år sedan. Då utvecklarna tvungna att kompilera sina program för att lägga till sina 64-bitars processor iPhone 5s. Med Bitcode utvecklare inte längre behov av att omarbeta sina ansökningar även efter betydande förändringar i datorarkitektur.
Om Apple plötsligt flytta till den nya arkitekturen, till exempel i iPad Pro tack Bitcode tredjepartsprogram kommer att stödja den nya enheten omedelbart efter dess release.
Denna nya teknik är mycket viktigt, kommer det att låta utvecklare att hålla jämna steg med de tider då lansera nya enheter eller ändra befintliga arkitekturen.
iOS-utvecklare Caleb Davenport säger att Bitcode har både plus och minus. Apple är inte längre nödvändigt att vänta för utvecklare att ge uppdaterade verktyg för att stödja nya enheter.
Jag fruktar bara att min ansökan kan sammanställas i konfigurationer som jag inte kan verifiera att i sin tur kommer att leda till fel, som jag inte kan återge.
Caleb Davenport väntade utseendet på 64-bitars enheter som erbjuds för att testa din ansökan på den "riktiga" järn och först därefter tillsätta lämpligt stöd i honom. I fallet med Bitcode, som automatiskt sammanställer ansökningar om nya enheter utan deltagande av utvecklare kan vara veckor innan en utvecklare köper en ny enhet för att testa, medan användarna kommer att använda sin ansökan och att ta itu med möjliga fel.
Andra utvecklare tro något annat. Så uppfattar Sord Janssen positivt Apples innovationer eftersom de minskar mängden arbete som han har att utföra för att stödja nya enheter. Han tror att om Apple plötsligt skulle byta till Intel-processorer i den nya iPhone, å sin sida inte kräver några åtgärder för att ge stöd till enheter på release dagen.
De andra utvecklare Bitcode uppfattar en blandad välsignelse. Tekniken verkar vara fantastiskt, men det återstår att redas ut.
Problemet är att Apple inte ger tillräcklig information för utvecklare. Trots sin stora betydelse, var Bitcode mycket noggrant nämns på WWDC, och även undantagna från vissa av sessionerna. I applikationer som använder sluten-källbibliotek, såsom, CocoaPods, Bitcode altogether Det är inte önskvärt eftersom det kan orsaka fel när biblioteks utvecklarna inte lägga till stöd för nya arkitektur.
Troligtvis kommer mer information närmare iOS 9 watchos exit och 2, men fortfarande konstigt att Apple inte är förutsatt full dokumentation av Bitcode på WWDC, händelsen, som också skapade belysning för sådana ändrar.
Oavsett arkitektur i framtiden
Medium användare under pseudonymen tröghets Lemon han trorAtt dessa förändringar tyder på något större. Bitcode krävs i applikationer för Apple Watch, men rekommenderas endast för iOS, men som vi vet, de nuvarande rekommendationerna för framtiden ofta utvecklas till obligatoriska krav.
För Apple Watch, innebär detta att i nästa generation klockor kan användas helt olika processorer, men för utvecklare kommer det inte att göra någon skillnad - App Store justerar automatiskt dina befintliga applikationer till nya anordning.
Dessutom kan Bitcode signalera en eventuell förändring i Mac arkitekturen. Bob Mansfield, som togs bort från ledningsgrupp för att gå upp "särskilda projekt" är en av kandidaterna att arbeta med detta. Apple gör redan processorer för iOS-enheter, så övergången till flis av sin egen produktion på Mac inte ser riktigt så galet.
Det finns bara en stötesten - Bitcode stöds inte i tillämpningar för OS X. Kanske Nyckelordet här är "ännu" eftersom man som representerade teknik på WWDC, som arbetar i ett team OS X.
Sådana förändringar skulle innebära för Apple möjlighet att gå Mac med Intel-arkitektur ARM utan behovet av att anpassa ramen för de befintliga tredjepartsprogram. I detta fall kommer företaget att bli av med beroendet av Intel, har svårigheter med snabb leverans av chips, på grund av vilka den uppskjutna lanseringen av nya Apple-produkter.
Vi måste förstå att detta är en lång process och inte nödvändigtvis signalerar Bitcode av sådana förändringar inom en snar framtid. Men i alla fall, Bitcode göra Apple mer flexibel för radikala hårdvara ändringar i sina enheter. Även i framtiden kommer företaget inte kommer att behöva meddela utvecklarna om de förändringar som gör det möjligt att hålla information om de nya enheterna i hemlighet tills presentationen.
Utvecklare minskat arbetet med anpassningen av ansökningar om följande stora uppdateringar. I själva verket, i allmänhet att de inte behöver göra, även om många misstänker att processen inte kommer att bli så lätt.
Bitcode bör nå en kritisk massa innan du ändrar arkitekturen kommer att bli en enkel process. Men Apple spelar "i skuld" och ger en entusiastisk utvecklare möjlighet att förbereda sig för vad som kommer oundvikligen att hända i framtiden.
via