Ontwikkeling van applicaties voor het universele Windows-platform. Universele applicaties voor Windows en Windows Phone. Wat betekent dit voor de gebruiker?

Microsoft is in veel sectoren een pionier geweest. Het is vermeldenswaard dat het concept van ‘smartphone’ en ‘communicator’ ook tot ons kwam door het geesteskind van Bill Gates. De revolutie begon in 1990. En het begon niet met de iPhone (die niet eens in de buurt kwam). In dit artikel nemen we alle versies van mobiele platforms van Microsoft door. Succesvol of mislukt? Van Windows CE naar . Van Casio Cassiopeia tot Nokia Lumia 1520.

Microsoft richtte zijn aandacht voor het eerst op de mobiele markt in 1990. Het was toen dat Bill Gates de mogelijkheden van zijn bedrijf wilde uitbreiden en een computer wilde maken die in je broekzak zou passen. Twee jaar later, in 1992, begon de ontwikkeling van Microsofts eerste mobiele besturingssysteem, Windows CE. Het werk vorderde uiterst langzaam en moeizaam. De eerste versie van Windows CE werd in 1996 uitgebracht als versie 1.0. In feite was het een sterk uitgeklede versie van Windows 95, maar op een andere kernel. Iets als Windows RT. Interessant genoeg was de eerste versie van Windows CE geoptimaliseerd voor apparaten met 32 ​​KB RAM...

Tot op de dag van vandaag wordt Windows CE (nu Windows Embedded) actief ontwikkeld en gepromoot op een andere manier dan smartphones. Maar het was met Windows CE dat de geschiedenis van draagbare communicators, nu bekend als smartphones, begon.

Windows CE diende als uitstekende basis voor het nieuwe besturingssysteem voor mobiele apparaten: Pocket PC. Dit platform vertegenwoordigt een echte klassieker van Microsoft en het is de moeite waard om op te merken dat er nog steeds veel apparaten in de wereld zijn waarop twee woorden op hun lichaam branden: Pocket PC.

Als platform raakte Pocket PC in 2003 in de vergetelheid, toen de eerste Windows Mobile 2003 werd uitgebracht. Maar Microsoft hield van de naam "Pocket PC" en gebruikte het als merk op Windows Mobile-apparaten. Pocket PC werd uiteindelijk in 2007 vergeten met de release van Windows Mobile 6.

Het begin van een nieuwe generatie mobiele computers van Microsoft. Het systeem bevat nu toepassingen voor zowel entertainment (grafische editor, Windows Media Player) als voor professioneel werk. IE is aanzienlijk verbeterd, heeft ondersteuning voor JavaScript toegevoegd en is meer geoptimaliseerd voor 'zware' pagina's. Het systeem kreeg ook ondersteuning voor draadloze standaarden Bluetooth, Wi-Fi, IPSec/L2TP, IPv6.

WM2003 werd uitgebracht in vier edities: Premium voor geavanceerde apparaten, Professional met een meer uitgeklede reeks applicaties voor meer betaalbare apparaten, Pocket PC Phone Edition (het had de functie om een ​​oproep te beantwoorden door sms te verzenden) en Windows Mobile 2003 voor smartphone. De eerste Jawbreaker-game verscheen in dezelfde WM2003.

Dit is geen aparte versie van het besturingssysteem, maar een update die erop gericht was de systeemprestaties te verbeteren en te optimaliseren voor nieuwe typen apparaten. Zo kreeg WM2003SE ondersteuning voor schermen van 640x480, een functie voor het wijzigen van de schermoriëntatie en een WiFi-netwerkbeveiligingssysteem.

Uitgebracht op 10 mei 2005. Een geheel nieuw niveau van Windows Mobile. Het systeem kreeg een aantal nieuwe, voorheen niet beschikbare functies. De gebruikersinterface is geoptimaliseerd voor een comfortabelere joystickervaring. De smartphone is gemakkelijk met één hand te bedienen geworden en er is ook een QWERTY-toetsenbord verschenen. In deze versie van Windows Mobile 5 begint het woord Pocket geleidelijk te verdwijnen. Zo werd de kantoorsuite hernoemd van Pocket Office naar Office Mobile.

Het kantoorpakket bevat een nieuwe applicatie: PowerPoint Mobile. Alle kantoortoepassingen werken nu met volledige klassieke bestanden van de desktopversie van Office, en het Pocket-formaat is verlaten. Communicators met Windows Mobile 5 konden werken in 3G-netwerken, ondersteunden USB 2.0, Active Sync 4.0 en hadden ingebouwde Windows Media Player 10.

Het systeem werd op 12 februari 2007 in Barcelona gepresenteerd. Het was op dit besturingssysteem dat de eerste touchscreen-smartphone draaide, die vingeraanslagen herkende in plaats van pendrukken. Het heette HTC Touch. Windows Mobile 6 beschikte over een coderingssysteem voor geheugenkaarten, systeemgeluiden en een Windows Update-systeem voor het automatisch updaten van het systeem. Er was ook een nauwe integratie met Live-services.

Voor het eerst in de geschiedenis van Windows Mobile heeft het besturingssysteem een ​​marktplaats voor ontwikkelaars en de creatie van applicaties door hen. Het kantoorpakket werd aangevuld met Office Exchange en One Note. Het was in Windows Mobile dat ondersteuning voor de schermresolutie van 800x480, die wordt gebruikt in de huidige Windows Phones, verscheen.

Het was 2008. Microsoft brengt een kleine update uit voor Windows Mobile 6.1. Het bracht nieuwe functies in Internet Explorer: zoom en paginaoverzicht. Bestanden op het apparaat konden worden gecodeerd en de taakbeheerder verscheen. SMS-correspondentie heeft een nieuw uiterlijk gekregen. In de Windows Mobile 6.1-editie voor smartphones werd het mogelijk om de gebruikersinterface te veranderen in de eigen “carrousel”.

Het nieuwste besturingssysteem heet Windows Mobile. Het systeem werd in 2009 aangekondigd op het Mobile World Congress in Barcelona. De interface is aanzienlijk opnieuw ontworpen. Op het vergrendelscherm werd weinig informatie weergegeven over gebeurtenissen in het systeem. Elementen op het Vandaag-scherm zijn volledig opnieuw ontworpen voor vingerbediening.

Internet Explorer werd bijgewerkt naar de zesde versie en Windows Marketplace for Mobile werd beschikbaar voor gebruikers, vanwaar ze applicaties voor hun apparaat konden downloaden. De Windows Mobile 6.5.3-update bracht ondersteuning voor capacitieve schermen, multi-touch en interface-optimalisatie nieuwe soorten sensoren.

Revolutie van het mobiele besturingssysteem van Microsoft. Ten tijde van de release van Windows Mobile 6.5 realiseerde Microsoft zich dat de strijd om de mobiele markt gedeeltelijk verloren was. Concurrenten Apple en Google begonnen snel de markt te veroveren en de positie van WM daalde. Er was een dringende noodzaak om iets te veranderen en Microsoft besloot alles opnieuw te creëren en een fundamenteel nieuw product uit te brengen, nu bekend als Windows Phone. Windows Phone 7 werd aangekondigd op MWC.

Het grote nadeel van Windows Phone 7 was het ontbreken van de mogelijkheid om te upgraden vanaf Windows Mobile 6.5.3, en dat is niet verrassend, omdat alles opnieuw begon. Het systeem kreeg een radicaal andere interface, nog nooit eerder gezien, een volwaardige applicatiewinkel, een gesloten bestandssysteem, nieuwe IE, nieuw Office, synchronisatie met Zune en integratie met Xbox.

Precies een jaar later verscheen er een grote update voor Windows Phone 7.5 Mango. Meer dan 500 veranderingen en innovaties hebben de werking van het systeem aanzienlijk versneld en verbeterd. Er is een Russische taal, een Russisch toetsenbord en ondersteuning voor het werken met de camera aan de voorkant. Nog een jaar later, in dezelfde februari, werd Windows Phone 7.5 Tango uitgebracht, waardoor het mogelijk werd om budgetapparaten met een 800 MHz-processor en 256 MB RAM uit te brengen. De Nokia Lumia 610 werd zo'n toestel.

Eind 2012 kondigde Microsoft de release aan van Windows Phone 7.8 - de volgende update van Windows Phone 7.5. De update is gemaakt om de levenscyclus van Windows Phone 7-apparaten te verlengen, aangezien deze niet konden worden bijgewerkt naar Windows Phone 8.

7.8 breidde de grafische interface uit, bracht drie tegelformaten, nieuwe accentthema's en dynamische Bing-achtergronden. Voor Nokia-gebruikers zijn er met de installatie van Windows Phone 7.8 applicaties beschikbaar gekomen die de functionaliteit van het systeem uitbreiden: beltonen op het scherm instellen en bestanden overbrengen via Bluetooth.

WindowsPhone 8

De volledig nieuwe kernel van Windows Phone 8 heeft Windows Phone 7-gebruikers gedoemd tot het onvermogen om bij te werken naar de nieuwste versie van het besturingssysteem en applicaties te installeren die exclusief voor Windows Phone 8 zijn gemaakt. Vergeleken met Windows Phone 7 is de achtste versie aanzienlijk beter geworden . Het systeem heeft nu een "Kinder" -functie, Bluetooth-transmissie, ondersteuning voor FullHD (GDR3-update) en 720p-schermen, multi-core processors, 2 GB RAM, NFC-chips, nauwe integratie met SkyDrive, nieuwe IE10, vergrendeling van de schermoriëntatie, "B "mode car" en vele andere updates. Een belangrijke innovatie is de beschikbaarheid van een over-the-air updatefunctie en het ontbreken van extra synchronisatiesoftware. Zune-gebruikers waren uiterst ontevreden over de app. Op dit moment is Windows Phone 8 GDR3 de huidige versie van het besturingssysteem.

Windows Phone 8.1

Een versie van het besturingssysteem die in ontwikkeling is en begin 2014 aangekondigd moet worden. Volgens geruchten zal het beschikken over een meldingscentrum en over een fusie met Windows RT.

Laatste update: 04/12/2017

UWP (Universeel Windows-platform) is een uniform platform voor het maken en uitvoeren van applicaties op Windows 10 en Windows 10 Mobile.

UWP was het resultaat van een evolutie van eerdere technologieën. Zo werd met de release van Windows 8 een nieuw architectonisch platform voor applicaties geïntroduceerd: Windows Runtime (WinRT), dat het mogelijk maakte om applicaties in de zogenaamde Moderne (Metro) modus op desktops en tablets uit te voeren. Vervolgens werd deze technologie ontwikkeld met de release van Windows 8.1 en Windows Phone 8.1 - er verschenen "universele applicaties" die onmiddellijk konden worden gestart door Windows 8.1 en WP8.1. En in juli 2015 werd het nieuwe Windows 10-besturingssysteem officieel uitgebracht. Het maakt gebruik van het UWP-platform, een ontwikkeling van Windows Runtime.

Zoals de naam van het platform suggereert, is het universeel - universeel voor alle apparaten in het Windows 10-ecosysteem. En dit zijn gewone desktops, tablets, mobiele apparaten, IoT-apparaten (Internet of Things), Xbox en Surface Hub-apparaten. En een UWP-app kan op al deze platforms even goed werken, zolang Windows 10 erop is geïnstalleerd.

Waarom UWP?

Programmeren voor UWP heeft een aantal voordelen:

    Breedte van distributie. Momenteel (april 2017) is Windows 10 al op meer dan 400 miljoen apparaten geïnstalleerd. Op desktops loopt Windows 10 al voor op Windows 8/8.1.

    Ondersteunt een breed scala aan apparaten. Desktops, tablets, smartphones, grote Surface Hub-tablets, verschillende IoT-apparaten, in de toekomst HoloLens virtual reality-apparaten - het scala aan apparaten waarop Windows 10 kan draaien is erg breed.

    Ondersteuning voor verschillende programmeertalen en technologieën. UWP-applicaties kunnen worden gemaakt met behulp van talen zoals Visual C++, C#, Visual Basic, JavaScript. Visual C++, C# en Visual Basic gebruiken XAML als technologie voor het maken van een grafische interface; JavaScript maakt gebruik van HTML. Bovendien kan C++ DirectX gebruiken in plaats van XAML. Dat wil zeggen technologieën die voor velen vrij gebruikelijk en bekend zijn.

    App store en distributiegemak. De Windows Store is een geweldige plek om UWP-apps te distribueren, zowel betaald als gratis. Dankzij de mogelijkheden van het platform en de Windows Store kunt u verschillende methoden voor het genereren van inkomsten gebruiken. U kunt bijvoorbeeld blokken voor het weergeven van advertenties in applicaties integreren via verschillende SDK's. Kan tegen betaling worden gedistribueerd en de betaling kan flexibel worden geconfigureerd. Indien nodig kunt u het ter beschikking stellen van een proefversie inbouwen, waarna de gebruiker kan beslissen of hij de applicatie wel of niet aanschaft. En er kan ook geld mee worden verdiend via het freemium-model, waarbij de applicatie shareware is en individuele diensten binnen de applicatie tegen een bepaalde vergoeding worden aangeboden. Bovendien worden al deze mogelijkheden voor het genereren van inkomsten geboden door de ingebouwde SDK-tools.

    Rijke platformmogelijkheden. UWP erft veel van de Windows Runtime van Windows 8.1 en biedt tegelijkertijd veel nieuwe functionaliteit, zoals rijkere cloudintegratiemogelijkheden, het gebruik van Cortana, het notificatiesysteem in Win10 en nog veel meer.

Wat is er nodig om te ontwikkelen voor UWP

Om voor UWP te programmeren heb je Windows 10 nodig. Alle andere besturingssystemen, zoals Windows 8.1/8/7 en niet te vergeten Windows XP, zijn niet geschikt!

U hebt ook de Visual Studio 2017 Community-ontwikkelomgeving nodig. Het is een volledig functionele gratis ontwikkelomgeving die kan worden gedownload van de officiële website op https://www.visualstudio.com/downloads/download-visual-studio-vs.

U kunt ook de VS 2015-versie en alle andere eerdere versies van Visual Studio gebruiken - 2013, 2012, 2010, enz. Ze werken niet met UWP.

Wanneer u Visual Studio 2017 installeert, moet u het juiste vakje in het installatieprogramma aanvinken:

Voordat u begint met het maken van applicaties, moet u ervoor zorgen dat de juiste optie voor ontwikkelaars is geïnstalleerd in Windows 10 Update:

En nadat Windows 10 en Visual Studio 2017 zijn geïnstalleerd, kunt u beginnen met het ontwikkelen van applicaties.

Windows 10 is het enige Microsoft-softwareplatform geworden dat een verscheidenheid aan apparaten bestuurt: van microcontrollers tot grote serversystemen. Denk maar aan: één kern voor een pc, voor miniatuurapparaten (Internet of Things), consoles (Xbox One), alles-in-één (Surface Hub), HoloLens augmented reality-apparaten! Tussen de kernel en applicatieprogramma's bevindt zich het UWP-runtimesysteem. Het dient als een subsysteem dat applicaties voorziet van hardwarefunctionaliteit die door de kernel wordt bestuurd via apparaatstuurprogramma's. Programmeurs krijgen daarom tools van hoog niveau aangeboden voor interactie met het systeem. In dit artikel zullen we het UWP-platform en de computerbeheermogelijkheden ervan nader bekijken.

Kort over de belangrijkste kenmerken van UWP

Het Universal Windows Platform bevat al die geavanceerde functies en services die zich hebben bewezen in Metro en Windows RunTime. Dit levende tegels, informatie op het vergrendelscherm, overeenkomend met de huidige tijd en het gebied van het apparaat, pop-upmeldingen, op het noodzakelijke moment de gebruiker herinneren aan verschillende gebeurtenissen in het systeem, Actiecentrum, waarmee u pop-upmeldingen en andere inhoud kunt configureren waarmee de gebruiker moet communiceren; het uitvoeren van de toepassing in een achtergrondthread, vanwaar het altijd kan worden opgeroepen of hersteld via triggers die plaatsvinden onder bepaalde omstandigheden die handig zijn voor de gebruiker. Uw applicatie kan communiceren met andere processen via contracten; De applicatie kan ook communiceren met de hele wereld om zich heen: hij kan worden bestuurd met spraakopdrachten, hij kan via Bluetooth met andere apparaten communiceren en nog veel meer.

Interactie met hardwareplatforms

Naast het goede nieuws waarmee ik u in de inleiding heb laten kennismaken, is er nog één slecht nieuws. Sterker nog, ze is nogal gemiddeld :). Feit is dat UWP-applicaties geen “legacy” zijn; ze zullen helemaal opnieuw moeten worden geschreven. Dat wil zeggen, voor de goede zaak van het uitvoeren van één binair bestand op alle apparaten, zul je hard moeten werken. Trouwens, als ik het heb over “één binair getal”, lieg ik een beetje. Wanneer een ontwikkelaar zijn app uploadt naar de platformonafhankelijke Store, compileert de cloudgebaseerde .NET Native compiler (zie het vorige artikel voor meer details) de app voor alle microprocessors die worden ondersteund door Windows 10.

Op alle hardwareplatforms onderhoudt een applicatie niet alleen een gemeenschappelijke functionele code, maar ook een gemeenschappelijke gebruikersinterface. Verschillende apparaten bieden echter bepaalde hardware-uitbreidingen: in vergelijking met een pc heeft een smartphone een versnellingsmeter, een aanraakscherm (beschikbaar op pc's, maar niet op alle), GPS, kompas, hardwarematige BACK-knop, enz. Tegelijkertijd heeft de smartphone geen harde schijf, CD/DVD/Blue-ray. Met dergelijke hardwaremogelijkheden kunt u werken met extensies die speciaal zijn afgestemd op een specifiek type apparaat - SKU: Desktop-SKU, mobiele SKU, IoT-SKU, Xbox-SKU enzovoort.

Als we ons abstract het apparaat van het Windows 10-besturingssysteem voorstellen, zullen we SKU-extensies onder de kernel zien, dit zijn de kernelcomponenten. Hieruit volgt dat deze extensies vergelijkbaar zijn apparaatstuurprogramma's. Aan de andere kant bevindt zich boven de kern het Universal Windows Platform - een universeel platform voor het uitvoeren van speciale applicaties.

Voortzetting is alleen beschikbaar voor abonnees

Optie 1. Abonneer u op Hacker om al het materiaal op de site te lezen

Met een abonnement kunt u ALLE betaalde materialen op de site binnen de aangegeven periode lezen.

Wij accepteren betalingen met bankkaarten, elektronisch geld en overschrijvingen vanaf rekeningen van mobiele operators.

HOOFDSTUK 1

Nu, als ontwikkelaars van applicaties voor mobiele platforms, openen zich geweldige kansen voor ons. Nog maar een paar jaar geleden leek het ongelooflijk dat een gewone ontwikkelaar zijn applicaties aan miljoenen gebruikers over de hele wereld zou kunnen verkopen via applicatiewinkels (Marketplace), en dat gebruikers deze applicaties zouden kopen. Volgens verschillende schattingen varieerde het volume van de wereldwijde markt voor mobiele applicaties in 2011 van 9 tot 12 miljard dollar, en in de komende vijf jaar zal dit cijfer verviervoudigen. Eén van de redenen is dat de concurrentie tussen de belangrijkste fabrikanten van smartphonebesturingssystemen, zoals Microsoft met het Windows Phone-platform, Apple met de iPhone en Google met Android, steeds heviger wordt. Dit suggereert dat deze platforms zich in de toekomst in een snel tempo zullen blijven ontwikkelen, wat betekent dat de behoefte aan ontwikkelaars van mobiele applicaties alleen maar zal groeien.

Microsoft maakt al jaren besturingssystemen voor smartphones. Dit wordt ook aangegeven door het nummer 7 in de versie van het Windows Phone-besturingssysteem. Dit cijfer is echter bedrieglijk. Windows Phone 7 is een complete nieuwe versie van het platform. Voorheen werden de mobiele besturingssystemen van Microsoft genoemd

Windows Mobile (nieuwste versie 6.5.3), en daarvoor Pocket PC (2000 en 2002). Een-

Microsoft wordt geconfronteerd met het feit dat oude benaderingen en principes niet langer voldoen aan de nieuwe gebruikersbehoeften. Daarom besloot Microsoft helemaal opnieuw te beginnen en een Windows Phone-besturingssysteem te maken dat niet compatibel is met Windows Mobile, zowel vanuit het perspectief van de gebruiker als van de ontwikkelaar. Het enige dat deze besturingssystemen gemeen hebben, is dat ze een kernel bevatten

Windows CE, maar noch Windows Phone-gebruikers, noch Windows CE-ontwikkelaars

hebben geen directe interactie en kunnen geen interactie hebben. Aanvragen voor

Windows Mobile werkt niet op Windows Phone 7 en omgekeerd. Windows Phone 7 rev.

heeft een nieuwe gebruikersinterface gebouwd op de principes van Metrodesign, die dit platform onderscheidt van andere mobiele besturingssystemen (Fig. 1.1). Het Windows 8-besturingssysteem heeft ook een gebruikersinterface gebaseerd op Metro-ontwerp, net als de nieuwste versies van de Xbox 360-console. Microsoft streeft er dus naar om de gebruikersinterface van zijn producten te verenigen.

Rijst. 1.1. Startscherm van een telefoon met Windows Phone 7

Apparaten met Windows Phone 7 hebben gestandaardiseerde minimale telefoonhardwarevereisten die ervoor zorgen dat het besturingssysteem goed werkt op alle in de handel verkrijgbare apparaten. Daarnaast worden alle Windows Phone toestellen centraal geüpdatet, waardoor je er zeker van bent dat jouw toestel na aankoop nog enkele jaren op de nieuwste versie van het besturingssysteem draait.

De eerste versie van Windows Phone 7 werd uitgebracht in oktober 2010. De volgende grote update van het platform, Windows Phone 7.5 (codenaam Mango), kwam minder dan een jaar later uit, in september 2011. Windows Phone 7.5 is de naam van het product. Het besturingssysteem zelf is versie 7.1. Als ze het dus over Windows Phone 7.5 of 7.1 hebben, bedoelen ze hetzelfde besturingssysteem. Hier is de situatie vergelijkbaar met desktopversies van Windows. Windows 7 heeft dus versie 6.1. Laat u niet in de war brengen door de verwarring tussen productnamen en besturingssysteemversies.

Windows Phone 7.5 is de eerste versie van het platform met Russische lokalisatie. In Rusland werden op 16 september 2011 officiële Windows Phone-telefoons verkocht, en op dit moment is Rusland een van de leidende markten voor Windows Phone.

De volgende versie van het Windows Phone-platform, versie 7.1.1 (codenaam Tango), is op het moment van schrijven nog niet uitgebracht. Deze versie

is voornamelijk bedoeld voor telefoons met 256 MB RAM (eerder uitgebrachte modellen op WP 7.5 hadden 512 MB RAM), waardoor de markt voor Windows Phone-apparaten aanzienlijk wordt uitgebreid en fabrikanten goedkopere modellen kunnen maken.

In dit boek concentreren we ons op Windows Phone 7.5, hoewel alle voorbeelden zullen werken op telefoons met de Tango-versie van het besturingssysteem. We zullen apart praten over de beperkingen van applicaties op telefoons met 256 MB RAM.

Windows Phone 7-apps zijn gebouwd in beheerde talen zoals C# en Visual Basic met behulp van een technologie genaamd Silverlight. De grafische interface van de applicatie wordt declaratief beschreven in XAML (eXtensible Application Markup Language). Als Silverlight nieuw voor u is, maar ervaring heeft met het bouwen van .NET-applicaties of websites, zult u blij zijn te weten dat Silverlight is gebaseerd op een uitgeklede versie van .NET. Games voor Windows Phone worden gemaakt met behulp van XNA-technologie (geen acroniem). U kunt Silverlight en XNA samen in één applicatie gebruiken. Bovendien verbiedt niemand het maken van games met Silverlight of applicaties die geen games zijn maar krachtige 3D-graphics vereisen met behulp van XNA. In afb. Figuur 1.2 toont de architectuur van het Windows Phone 7-platform.

Rijst. 1.2. Windows Phone-platformarchitectuur

Het Windows Phone-platform is niet uniek vanuit het oogpunt van een applicatie-ontwikkelaar. Met kennis van XAML en C# of Visual Basic kun je applicaties maken voor telefoons, traditionele desktopapplicaties met behulp van WPF (Windows Presentation Foundation) technologie, Silverlight-applicaties, desktop-applicaties

smelten in en uit de browser, evenals Metro-achtige applicaties voor Windows 8.

Uiteraard heeft elk van deze platforms zijn eigen kenmerken, en het is vaak onmogelijk om de code eenvoudig zonder wijzigingen van het ene platform naar het andere over te dragen, maar de basis is overal hetzelfde. Bovendien kun je met XNA niet alleen games maken voor de telefoon, maar ook voor de computer en de Xbox 360-console.

Windows Phone 7.5 bevat de browser Internet Explorer 9 (IE 9). Dit is voltooid

een functionele versie die code deelt met de desktopversie van Internet Explorer. Internet Explorer op uw telefoon ondersteunt echter geen plug-ins zoals Flash of browsergebaseerde Silverlight. Het goede nieuws is dat IE 9 op Windows Phone dezelfde supersnelle JavaScript-engine (genaamd Chakra) heeft als de desktopversie. Dit betekent dat u niet alleen door uw favoriete sites op uw telefoon kunt bladeren, maar ook uw eigen HTML5-apps kunt maken die zijn geoptimaliseerd voor Windows Phone. Dergelijke applicaties draaien in de browser en kunnen tags gebruiken

Als u HTML5-applicaties wilt maken die op meer dan alleen Windows draaien

Telefoon, maar ook op iPhone/iPad, Android en Bada, gebruik de PhoneGap-bibliotheek

op: http://phonegap.com/.

Applicaties die PhoneGap gebruiken zijn, vanuit het oogpunt van de gebruiker, reguliere applicaties. Ze hebben toegang tot de API van het besturingssysteem en kunnen bijvoorbeeld foto's van een camera of versnellingsmetergegevens ophalen. Dergelijke toepassingen worden gedistribueerd via de Marktplaats. Niet alle telefoonfuncties worden echter ondersteund en er zijn aanzienlijke inspanningen nodig om de compatibiliteit tussen mobiele besturingssystemen te garanderen.

Als u een applicatie voor iOS, Android of Symbian/Qt naar Windows Phone overzet, kan de documentatie op de website u helpen http://wp7mapping.interoperabilitybridges.com/.

Daar vindt u handleidingen voor het maken van Windows Phone-applicaties voor iOS-, Android- en Symbian-ontwikkelaars, evenals andere informatie over het overbrengen van applicaties. De site bevat ook een directory met API-compliance voor verschillende platforms. Als u bijvoorbeeld op het Android-platform de klasse android.os.Vibrator gebruikt en vervolgens de naam van deze klasse in de zoekbalk typt, ziet u dat deze op het Windows Phone-platform overeenkomt met de klasse VibrateController van Microsoft.Devices naamruimte. De site biedt ook links naar tools om bijvoorbeeld Windows Phone te integreren met oplossingen van derden

Windows Phone Toolkit voor Amazon Web Services (S3, SimpleDB en SQS Cloud

Programmeursbibliotheek


“Het is heel belangrijk om de vragen niet te onderbreken. Nieuwsgierigheid heeft bestaansrecht."

Albert Einstein

37. Windows-familieplatforms

In deze sectie wordt materiaal uit het boek gebruikt: Jeffrey Richter. Windows voor professionals (programmeren in Win32 API voor Windows NT en Windows 95)/Trans. uit het Engels – M.: Uitgeversafdeling "Russische editie" LLP "Channel Traiding Ltd.", 1995. – 720s. (Originele publicatie – 1995)

Win32 API-interface. Windows-besturingssystemen van verschillende versies bieden ontwikkelaars van applicatieprogramma's (programmeurs) de zogenaamde Win32 API (application programming interface). Een API is een verzameling functies waartoe een applicatie toegang heeft.

De Win32 API is geïmplementeerd op drie platforms: Win32s, Windows NT (Windows 2000) en Windows 95. Het oorspronkelijke doel van Microsoft was om deze interface (dat wil zeggen al zijn functies) op alle drie de platforms te implementeren. In dit geval zou een applicatie die voor een bepaald platform is ontwikkeld heel eenvoudig naar een ander platform kunnen worden geport: de applicatie hoeft alleen maar opnieuw te worden gecompileerd voor het andere platform. In werkelijkheid werd deze droom echter niet volledig gerealiseerd, waardoor er behoorlijk grote verschillen bestaan ​​tussen de drie genoemde platforms, waardoor de mogelijkheden voor het overbrengen van applicaties van het ene platform naar het andere kleiner worden.

Win32s-platform was het allereerste platform dat 32-bits applicaties kon draaien. Het bestaat uit een reeks dynamische linkbibliotheken (dll-bestanden) en een virtueel apparaatstuurprogramma (virtueel apparaatstuurprogramma). Deze set is een aanvulling op 16-bits Windows 3.x-systemen. Win32s is dus slechts een add-on voor Windows 3.x. Deze invoegtoepassing converteert 32-bits functieparameters naar 16-bits en roept de overeenkomstige Windows 3.x-functies aan.

In Win32s worden de meeste Win32-functies simpelweg geïmplementeerd als "stubs": wanneer ze worden aangeroepen, keert de besturing terug zonder enige actie uit te voeren. Omdat 16-bits Windows bijvoorbeeld geen threads ondersteunt, retourneert de functie CreateThread een null-aanwijzer. Win32s introduceerde echter enkele functies die niet werden ondersteund door Windows 3.x. Deze omvatten bijvoorbeeld in het geheugen toegewezen bestanden en gestructureerde afhandeling van uitzonderingen.

Het doel van Win32s was om programmeurs aan te moedigen 32-bits applicaties te ontwikkelen, zodat tegen de tijd dat het Windows NT-platform werd uitgebracht, 32-bits applicaties al op de markt zouden zijn. Dit doel werd helaas nooit bereikt, omdat Win32s niet bijzonder succesvol was.

Windows NT-platform is een volwaardig besturingssysteem dat Win32-functies volledig ondersteunt. Het is een relatief nieuw besturingssysteem en wordt niet belast door MS DOS. Microsoft Corporation zet in op dit besturingssysteem. Het is waar dat het Windows NT-platform hoge eisen stelt aan computerhardware, vooral aan de hoeveelheid RAM en harde schijf.

Het Windows NT-platform heeft een aantal voordelen ten opzichte van de andere twee platforms.

Ten eerste zijn 32-bits applicaties native en kunnen ze het meest efficiënt werken dankzij de Win32 API. Hier is het ook noodzakelijk om de hoge stabiliteit van het platform op te merken met betrekking tot onvermijdelijke fouten in de werking van applicaties.

Ten tweede kan Windows NT (tegelijkertijd) verschillende soorten applicaties uitvoeren die zijn ontwikkeld voor MS DOS, OS/2, POSIX, Presentation Manager en Windows 3.x.

Ten derde is Windows NT het enige draagbare platform dat in beschouwing wordt genomen, d.w.z. het kan draaien op machines met verschillende soorten processors. Aangezien het grootste deel van de Windows NT-code is geschreven in C en C++, is het voldoende om de broncode opnieuw te compileren met behulp van een compiler die "native" is voor de processor. Natuurlijk is het overstappen naar een ander type computer in werkelijkheid iets ingewikkelder, omdat hiervoor twee componenten op een laag niveau van het systeem moeten worden herschreven: de kernel (Kernel) en de zogenaamde hardware-abstractielaag (HAL). Deze componenten zijn voornamelijk geschreven in de juiste versie van de assembleertaal en zijn zeer specifiek voor een bepaalde processor. Om toepassingen die voor Windows NT zijn geschreven, op een andere computer te kunnen uitvoeren, hoeft u ze alleen nog maar opnieuw te compileren.

Als u dus van plan bent de applicatie die u ontwikkelt te gebruiken op computers met verschillende soorten processors, dan moet deze ontwikkeld zijn voor het Windows NT-platform.

En tenslotte, ten vierde, is Windows NT het enige besproken platform dat op een computer met meerdere processors kan draaien en daadwerkelijk voordeel zal halen uit de unieke mogelijkheden ervan. Als uw computer bijvoorbeeld 30 processors heeft, kan Windows NT in werkelijkheid maximaal 30 threads tegelijkertijd uitvoeren. (Sequent ontwikkelde een computersysteem met 30 Intel-processors.)

Windows 95-platform is het nieuwste besturingssysteem dat een zeer grote niche in de markt vult voor computers van de Intel 386-klasse en hoger met 4 of meer megabytes RAM. De reden voor de release van Windows 95 zijn juist de buitensporig hoge eisen die Windows NT stelt aan computereigenschappen.

Om Windows 95 te laten werken op machines met 4 MB geheugen, heeft Microsoft enkele functies van de Win32 API verwijderd. Als gevolg hiervan ondersteunt Windows 95 sommige functies van de Win32 API niet volledig, met name asynchrone bestandsinvoer/-uitvoer, foutopsporing, logboekregistratie, beveiliging, enz. Deze functies zijn geïmplementeerd, maar niet volledig. Windows 95 ondersteunt echter de meeste Win32 API-functies en is het populairste platform.

Van de drie besproken platforms moeten op dit moment dus alleen de platforms Windows NT en Windows 95 serieus worden overwogen, aangezien het Win32s-platform de meeste Win32 API-functies niet daadwerkelijk ondersteunt.

Er is nog een verschil dat opvalt tussen de Windows 95- en Windows NT-platforms. In Windows 95 is een aantal nieuwe functies aan de Win32 API toegevoegd ter ondersteuning van modems, nauwkeurigere kleurreproductie en andere services. Maar Windows NT (tenminste versie 3.5) heeft deze functies helemaal niet. Daarom moet u er bij het ontwikkelen van programma's rekening mee houden dat sommige functies van de Win32 API op het ene platform bestaan ​​en op het andere volledig ontbreken. Dit is des te spijtiger omdat het Windows NT-platform volgens Microsoft alle functies van de Win32 API zou moeten ondersteunen.

Een volledige lijst met verschillen in de implementatie van het Win32-platform in verschillende versies van Windows kunt u vinden in de sectie "Platformverschillen" van het helpbestand ProgTech.hlp.

Windows NT 3.5 heeft ingebouwde grafische mogelijkheden 3D-afbeeldingen OpenGL API. OpenGL is een besturingssysteemonafhankelijke, industriestandaard grafische bibliotheek ontwikkeld door Silicon Graphics voor zijn werkstations. OpenGL wordt momenteel erkend door de Architecture Review Board, waartoe bedrijven als DEC, IBM, Intel, Microsoft en Silicon Graphics behoren. OpenGL-technologie is door Microsoft gelicentieerd om deze krachtige 32-bits API aan Windows NT-gebruikers te bieden. De geavanceerde functies van deze bibliotheek zijn vereist wanneer visualisatie van grote projecten en gegevens vereist is. Typische toepassingen die het gebruik ervan vereisen zijn CAD, mechanische en industriële ontwerpsystemen, statistische en wetenschappelijke analyseprogramma's.