×

Help Tweakers weer winnen!

Tweakers is dit jaar weer genomineerd voor beste nieuwssite, beste prijsvergelijker en beste community! Laten we ervoor zorgen dat heel Nederland weet dat Tweakers de beste website is. Stem op Tweakers en maak kans op mooie prijzen!

Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Wat vinden developers van Windows 8? (video)

Door , 60 reacties

16-09-2011 • 09:00

60 Linkedin Google+

Het maken van applicaties voor Windows 8 betekent voor developers dat ze voor een nieuwe interface kunnen ontwikkelen en webtalen kunnen gebruiken. Wat vinden de developers daar zelf van?

De komst van Windows 8 heeft gevolgen voor Windows-ontwikkelaars: die kunnen applicaties schrijven voor de nieuwe Metro-interface en kunnen nu ook html, css en javascript gebruiken. Tweakers.net vroeg enkele ontwikkelaars op Microsofts Build-ontwikkelaarsconferentie naar hun reactie en ontdekten dat ze veelal positief zijn over de nieuwe interface, maar dat ze Metro-applicaties waarschijnlijk met hun oude tools blijven ontwikkelen: webtalen zijn vooral interessant voor nieuwe ontwikkelaars.

Reacties (60)

Wijzig sortering
Iedereen focust maar op Metro, maar wat eigenlijk veel interessanter is, is WinRT(Windows RunTime). Dit is een nieuwe laag die naast Win32 API gaat draaien. Het is een alternatief voor Win32, of eerder de toekomstige vervanger. De Win32 API zit er nog in voor de legacy software.

WinRT is een OO versie van Win32. Bij het ontwikkelen van een applicatie moet straks de keuze worden gemaakt: Of Win32 API of WinRT. Wanneer je voor WinRT kiest kan je dus geen P/Invoke meer doen. Het grote voordeel is dat alles op een OO manier benaderd kan worden, en dat het een naadloze integratie met .Net heeft.

Ook het maken van een GUI zal anders worden, tenminste, voor de gene die nog niet met WPF hebben gewerkt. Het XAML zal nu ook gebruikt gaan worden in C++ applicaties. Zover ik begrepen heb is het geen WPF, maar hergebruiken ze de kennis en technologie van WPF. In de basis is het het zelfde.

WinRT zal het ontwikkelen van applicaties 'makkelijker' maken. Probleem is alleen dat niet de hele wereld ineens overschakeld op Windows 8, dus de echte native Windows 8 / WinRT applicaties zullen nog jaren schaars blijven denk ik.

edit:

Overigens, het HTML5 en javascript is 1 van de opties om een Metro app te maken. Je hebt de keuze uit C++, .Net(C#/VB.Net/etc) en HTML5 met Javascript. Ongetwijfeld zullen andere talen ook beschikbaar komen op termijn.

Het maken van een app met Javascript is overigens niet helemaal het zelfde als een web app. In javascript kan je native het WinRT aanroepen(Windows calls dus). HTML5/Javascript is gewoon een extra mogelijkheid om een Metro app te maken naast C++ en .Net. De mogelijkheden met de verschillende opties zijn, in de basis, het zelfde.

[Reactie gewijzigd door beany op 16 september 2011 09:43]

Het lijkt er op dat WinRT alleen bedoeld is voor metro-style apps en niet voor reguliere desktop apps (zie: http://www.readwriteweb.c...%20Platform%20diagram.JPG).

Ik weet niet of ontwikkelaars hier heel blij van gaan worden. De WinRT UI laag is inderdaad een afgeleide van WPF en dus niet backwards compatible. Hij is te gebruiken vanuit native applicaties (C++, ect.), .NET en HTML5+scripttalen (nu is JScript tegenwoordig ook .NET dus ik weet niet of je die twee nog los moet zien).

Bestaande codebases kun je waarschijnlijk dus grotendeels weggooien.
Naast Silverlight, WPF (XBAP of desktop) en Silverlight for Windows Embedded (wat ook al zo'n rare XAML/C++ mix is) hebben we nu dus een vierde niet-compatible framework voor UI op windows platforms (even afgezien van de legacy frameworks zoals WinForms en alles daarvoor).
Overigens ben ik zeer benieuwd hoe ze databinding gaan aanpakken voor native apps (als dat uberhaupt al mogelijk gaat zijn vanwege het ontbreken van reflection).

Ben ook benieuwd hoe ze in WinRT de graphics laag hebben vormgegeven. Wellicht krijgen we naast GDI, GDI+, Direct2D, DirectWrite, Direct3D en XNA *nog* een API?

Al met al lijkt Microsoft de ontwikkelaars voor haar plaforms weer eens aan te geven dat ze niet echt zeker zijn waar ze naartoe willen. In plaats van *een* 'unifying framework' met wisselende features voor afwijkende platforms (bijv. geen telefoonfuncties in desktopapplicaties) moeten we nu gaan kiezen tussen een aantal niet verenigbare frameworks. Of je ontwikkelt parallel voor allemaal, maar dat is nogal een investering.
Als Microsoft wil dat Metro (op wat voor device dan ook) een succes wordt dan is het een pre om het bestaande ontwikkelaars gemakkelijk te maken hun applicaties er voor geschikt te maken. Zoals ze het nu aanpakken wordt het een pijnlijk proces.

Nog een kleine correctie: P/Invoke staat los van Win32 (je kan vanuit .NET elke willekeurige DLL invoken). Ook in metro applicaties (mits in .NET) zal je P/Invokes kunnen doen. Nou zijn P/Invokes meestal niet echt handig vanuit een portability-oogpunt dus of het verstandig is is een andere vraag...

[Reactie gewijzigd door slybastard op 17 september 2011 11:47]

Precies, in feite is Javascript nu gewoon een extra taal naast C#, VB.NET, F#, C++, etc geworden. Ik denk idd dat de meeste huidige Java, C# en C++ ontwikkelaars er niet aan moeten denken om in JavaScript te werken, maar voor de webdevelopers van nu maakt het de stap van web naar desktop applicaties maken veel makkelijker, ze hoeven dan geen 'hardcore' taal meer te leren.

Zoals ik het nu begrijp is WinRT in feite WPF 2.0 - combineert (in theorie) alle goede dingen van WPF, Silverlight, WinForms, en HTML5 in 1 library en wordt nu eindelijk *de* nieuwe Windows API.

[Reactie gewijzigd door Dreamvoid op 16 september 2011 10:25]

WinRT is alleen een nieuwe versie van Win32 API, want je hebt nog steeds de Runtimes nodig voor de specifieke talen. Als je een Silverlight app start die WinRT gebruikt wordt nog steeds de Silverlight runtime gebruikt, zelfde voor WPF, VB, etc.

Toevallig gisteren gekeken naar een stukje Channel 9 Live waar dit zelfde werd uitgelegd/gezegd.

[Reactie gewijzigd door HolleBolleTeun op 16 september 2011 10:47]

In feite wordt Internet Explorer 10 dan niet alleen meer een webbrowser, maar een volwaardige VM voor WinRT applicaties, equivalent aan de .NET CLR.

Wat wel grappig is, is dat de ARM versie van Windows 8 net zo'n 'clean break' met de legacy Win32 API wordt als de ARM versie van OS X was met Carbon. Op iOS is alles Cocoa, op W8-for-ARM is alles WinRT. Dat schept duidelijkheid.

[Reactie gewijzigd door Dreamvoid op 16 september 2011 11:13]

Bedankt voor deze reactie. Ik ben benieuwd of WinRT dan inderdaad naast Win32 loopt en Nt* system calls gebruikt om de functionaliteit te implementeren of dat dit in deze versie van windows meer een wrapper is om Win32. Persoonlijk ben ik dan benieuwd of dingen zoals I/O completion ports dan ook veranderen of dat er gewoon een direct equivalent is. Tijd zal het leren denk ik.
WinRT is *GEEN* wrapper om Win32. Als je alle docs & artikelen leest, en de overzichtsplaatjes bekijkt wordt duidelijk dat Microsoft nu echt begonnen is met het nieuwe Windows. De enige reden waarom Win32 API er nog in zit is vanwege de legacy software.

Het hele functie aanroepen is met WinRT verleden tijd. Dat was meer vanuit C bekeken(en voor die tijd, 1993, ook wel logisch). Nu is het echt OO, en gericht op C++, waarbij .Net een dusdanige architectuur heeft dat het naadloos aansluit.
Ik heb er ook al lang over na zitten denken hoe ze het in de praktijk zouden doen. JavaScript is namelijk gewoon een vervelende taal zo gauw je echt een business laag hebt, terwijl het voor interfaces best wel prettig werkt doordat het wat minder OO overhead heeft.

Als ik mijn front-end in JS zou kunnen scripten, en al mijn calls naar de business laag naar een in C# geschreven deel kan doen, dan zou dat best of both worlds zijn. Is ook makkelijk te migreren naar AJAX en webservices zodat je het ook echt als een webapp in kunt zetten voor tablets en phones.

Ik heb er wel enorm veel zin in!
Als ik naar de video kijk heb ik het idee dat er ook niet echt interviews met webdevelopers zijn geweest. Beetje raar om aan conventionele taal-developers te gaan vragen of ze plots overstappen op HTML5 en Javascript. Tuurlijk is het antwoord dan 'Nee', 'Hoogstwaarschijnlijk niet' en 'Ik denk niet dat er veel mee gedaan zal worden' (uiteraard, omdat je niet als een webdeveloper denkt).
Een interview met een webdeveloper om te kijken of hij iets zit zitten in Metro is dan veel waardevoller.

Dat gezegd, als verstokt iOS developer vindt ik Metro er wel heel interessant uitzien :) Ben benieuwd naar de ontwikkelingen eromheen.
Hmm, dat was mijn eerste gedachte in eerste instantie ook; vraag geen webdeveloper vragen aan niet webdevelopers stellen, echter denk ik dat er niet heel erg veel webdevelopers aanwezig waren op die beurs.

Persoonlijk weet ik niet of HTML5 en Javascript zo'n goed idee is in Windows 8. De applicaties die ik nu soms tegen komen geven niet het applicatie gevoel, maar meer een web-gevoel. Je bent vaker bezig met laden en vaak werkt het niet echt smooth zoals een echte applicatie. Voorbeelden hiervan zie je vaak op mobiele apparaten waar applicaties zijn te vinden dat eigenlijk gewoon web pagina's zijn.

Daarnaast ben ik ook totaal geen fan van de Metro interface... voor op een computer. Tijdens de interviews wordt er ook gezegd dat het een goede concurrent is voor o.a. de iPad, en daar ben ik het gedeeltelijk mee eens (een goede concurrent ben je niet alleen vanwege een goede interface natuurlijk), maar ik krijg het idee dat dit ook de standaard interface gaat worden voor Windows 8 met de mogelijkheid om terug te schakelen naar de normale interface die we gewend zijn. Bij MacOSx hebben ze dat ook gedaan met de AppLauncher, daarmee krijg je gewoon een iPad interface waar je al je applicaties kan vinden. Handig voor de niet zo technische mensen, maar voor de experts totaal nutteloos. Gelukkig is het bij MacOSx dan ook gewoon een functie die je kan gebruiken maar niet hoeft te gebruiken, en ik hoop dan ook dat dit ook bij Windows 8 zo gaat worden.

edit: mooi filmpje trouwens, goede presentatie ook wat mij betreft!

[Reactie gewijzigd door Soepstengel op 16 september 2011 11:27]

Tja Windows 8 is ook een aardverschuiving. Het haalt de focus van apps af zoals we die nu schrijven en brengt de kracht van html5 voor applicatieontwikkeling naar voren. Dat dit niet direct een omslag teweeg brengt heeft MS ook niet voor ogen. Het is wel een stap in de evolutie en de focus rond de app zal hiermee op termijn verlegd worden naar services en portabiliteit. Dat Nokia nu al gilt dat de app focus van Apple en Android dood is is voorlopig voorbarig en marketing gewouwel, maar dit zijn wel de eerste stapjes. Gelukkig gaat de technologie vooruit en MS heeft deze keer wat mij betreft raak geschoten!

[Reactie gewijzigd door chinook op 16 september 2011 09:40]

Er is natuurlijk wel een groot verschil tussen een HTML5 website/webapp geschreven in JavaScript, en een native WinRT applicatie geschreven in JavaScript. Ja, je zal veel code kunnen hergebruiken, maar de API's in WinRT zal je niet hebben op andere platforms.

Goed nieuws in elk geval voor Javascript developers: ze zijn in 1 klap ook volwaardige developers voor Windows geworden, ipv 'alleen maar' webdevelopers.

Het gevaar voor Microsoft is dat het allemaal niet uitmaakt:
- huidige Windows developers zitten op C# en gaan echt niet naar JavaScript
- Microsoft-haters werken met Java en Obj-C en gaan ook niet naar JavaScript
- web developers die met JavaScript werken bouwen geen Windows apps

[Reactie gewijzigd door Dreamvoid op 16 september 2011 11:14]

Dat gevaar vind ik zwaar overdreven.
Ja, je zal veel code kunnen hergebruiken, maar de API's in WinRT zal je niet hebben op andere platforms.
Dit heb je altijd als je crossplatform gaat werken en tegen systeem API's gaat praten. Daar is natuurlijk een heel simpele oplossing voor, een laag er tussen die je platform specifiek maakt. De rest van je applicatie hoeft daar geen weet van te hebben.
- huidige Windows developers zitten op C# en gaan echt niet naar JavaScript
Al 100x gezegd, dat is ook niet nodig. Alle huidige talen blijven gewoon bestaan, misschien tegen die tijd zelfs in .NET 5.
- Microsoft-haters werken met Java en Obj-C en gaan ook niet naar JavaScript
Nou daar zie ik ook geen probleem. Ze haten Microsoft dus waarom zouden ze een App voor Microsoft gaan maken? Als ik Apple haat zit ik ook aan JAVA en Objective-C vast.
- web developers die met JavaScript werken bouwen geen Windows apps
Ik dus wel, en vast vele met mij. Al haat ik JavaScript en ben ik fan van C#.
Ik zie trouwens geen verschil met het bouwen van een website en een Windows app als het op de zelfde manier gebeurt. In de base spreek je nu tegen de Windows API in plaats van een server API. (Windows is eigenlijk de server).
Als leek krijg ik eerder het gevoel dat het wiel telkens opnieuw word uitgevonden. Allemaal leuk en aardig, maat het blijft een wiel....

Zit btw echt niet op een concurrent van de ipad te wachten in de vorm van een desktop pc. Zoals ik ook geen Window Media Center als afspeler gebruik. Misschien ben ik ouderwets, maar ik doe gewoon veel met de "verkenner" (explorer).

[Reactie gewijzigd door Madrox op 16 september 2011 14:18]

Die portabiliteit valt nog te bezien; Als je naar sample metro apps in html5 kijkt zie je dat er ongelooflijk veel Windows-specifieke code in terecht komt om het in Metro te integeren, en het geheel portable maken naar andere platformen zal niet zo makkelijk zijn als het klinkt.

Html5 webapps zoals ze nu op beginnen te komen zijn m.i. dan ook een beter idee; Apps in de browser, ongeacht browser of platform en geen noodzaak om platform specifieke code toe te voegen. Overigens hebben wat mij betreft native apps nog altijd de voorkeur, om snelheidsredenen en het feit dat je niet altijd gebonden wil zijn aan browser chrome. Echter de software voor elk platform onderhouden is een flinke klus voor de programmeur(s).

Overigens kan ik me ook erg vinden in wat één van de geinterviewden aandraagt; Productivity apps zullen waarschijnlijk voorlopig niet/nooit in Metro terecht komen, omdat de interface daar niet voor geschikt is. Deze apps (bv Photoshop, 3d werk, videoediting, etc) zullen waarschijnlijk ook nooit als webapp verschijnen omdat html5/javascript daar simpelweg niet krachtig genoeg voor is.

Verder heb ik uberhaupt mijn bedenkingen bij Metro op de desktop. Ideaal voor touch interfaces op o.a. tablets, voor simpel gebruik als browsing, email, media. Maar niet om echt werk gedaan te krijgen. Met de muis slepen om van window te wisselen? Productiviteit -1000.

@Dreamvoid: Als je tegen de grenzen van html5 aan loopt (zoals zal gebeuren bij veel productivity apps), zul je meer native moeten gaan. Zoals je aandraagt kun je proberen in Javascript te blijven werken en WinRT gebruiken, maar dan verlies je alsnog alle portabiliteit naar andere platformen en kom je nog niet verder dan je zou komen als je native zou programmeren.

[Reactie gewijzigd door geez op 16 september 2011 10:42]

Html5 webapps zoals ze nu op beginnen te komen zijn m.i. dan ook een beter idee; Apps in de browser, ongeacht browser of platform en geen noodzaak om platform specifieke code toe te voegen.
Maar (los van alle cross-browser incompatibiliteiten): HTML5 is een vrij beperkt platform, als applicatiebouwer loop je al vrij snel tegen de grenzen aan wat je kan/mag doen in de browser. Wat doe je als je meer functionaliteit wil?

Het oude antwoord is: je moet de boel compleet herschrijven naar ofwel crossplatform frameworks als Flash (ActionScript), Java en Silverlight (C#), of je gaat native met Cocoa (Obj-C), Dalvik (Java), WPF/.NET (C#) of Qt (C++). Wat Microsoft met WinRT wil, is je de optie geven om native in Windows te gaan werken, maar zonder dat je van Javascript af hoeft.

[Reactie gewijzigd door Dreamvoid op 16 september 2011 10:29]

Ze zeggen allemaal dat het een leuke concurrent is voor de iPad maar, hoe zit het dan met PC's en notebooks?

Het lijkt er op dat Microsoft toch eieren voor zijn geld kiest na hun eerdere bevindingen dat de PC niet dood bloed. Met Windows 8 ligt de focus op tablets en investeren ze in maar 1 algemeen product dat hopelijk op elk systeem kan draaien ongeacht of het van de markt verdwijnt of niet.
Doet me denken aan die holland casino reclame "verspreid uw kansen".

Wat voor effect dit heeft op mensen die Photoshop en andere prof tools gebruiken, wil ik graag te weten komen

[Reactie gewijzigd door DJMaze op 16 september 2011 11:59]

Niets, want de oude Win32 API blijft gewoon ernaast bestaan. Je mist alleen alle nieuwe WebRT goodies. Vergelijk het met de Carbon -> Cocoa overstap bij Mac OS.

[Reactie gewijzigd door Dreamvoid op 16 september 2011 13:56]

Als er voor een platform veel ontwikkelaars te porren zijn, en dat zijn ze voor Windows 8, dan zal het gros van de gebruikers vanzelf volgen. Ondanks de HTML5/JS dorpel, lijkt het me logisch dat er een zee van apps ontwikkeld gaan worden waar mensen ook echt wat aan hebben. Zouden er volgend jaar ook ineens veel desktop touchscreens verkocht gaan worden of kinect voor windows?
Een interview met een webdeveloper om te kijken of hij iets zit zitten in Metro is dan veel waardevoller.
Het is allebei interessant, omdat het hier om desktopapplicaties gaat. En bij Build liepen nou eenmaal weinig webdevelopers rond. :)
Tip: Presentator,let op je ademhaling en praat iets langzamer!! Je wordt moe van naar je te luisteren. Volg anders een extra mediapresentatietraining.

off-topic, volgens mij is die Marcel de Vries een groninger of niet :-) (ik herken mijn 'tongval') :P

[Reactie gewijzigd door evonck op 16 september 2011 16:17]

waar is het nu voor voor tablets of de pc ;( :?
als je het voor desktop gaat gebruik kan je hem dan ook strippen al die tablet apps 8-)
waarom maken ze niet een voor de desktop en 1 voor tablet 8-)

ik wind het een beetje raar alemaal microsoft 8)7
De tiles vind ik best aardig maar ik vind het niet mooi uitgewerkt, ik vind het allemaal
zo vlak en flets ogen. Ze hadden er ook wat verfijndere eyecandy van kunnen maken.

W8 voor tablet okee maar W8 to PC is as chopsticks to soup.
Die kerel heeft het op 4:09 over Ksemmel. Bedoelt hij XML? Ik ben niet zo thuis in C# en heb nog nooit van Ksemmel gehoord.
LOL... dat had ik nu ook, snapte er al niks van. Thnx voor de vertaling. ;)

Op dit item kan niet meer gereageerd worden.


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*