mboost-dp1

newz.dk

Hvad er fremtiden for HTML5, Silverlight og Flash?

- Via Microsoft.dk - , redigeret af Net_Srak , indsendt af danielovich

Igennem de seneste måneder har der været stor fokus på fremtiden for teknologier som Flash og Silverlight, især i takt med at nye browserer får bedre og bedre understøttelse af HTML5.

Nogle hælder til, at HTML5 skal overtage det meste af arbejdet fra Flash og Silverlight, men med en endelig færdiggørelse af standarden, der først er programsat til 2022, så er der endnu lang vej, til alle detaljer er på plads.

Det er også muligt, alle tre teknologier kan sameksisterer, og for at kaste lidt lys på situationen inviterer Microsoft Danmark nu til en snak om emnet, hvor de lover, der ikke vil være noget marketingssnak.

Microsoft-indbydelse skrev:
Vi har forsøgt, så godt som netværket tillader det, at finde nogle mennesker der ved noget om teknologierne fra Microsoft, Adobe og selvfølgelig nogle der ved noget om HTML5 og standarden. Lad os hive de informationer ud af dem som vi mener vi ikke har fået.

Begivenheden finder sted hos Microsoft Danmark den 13. december og vil være gratis at deltage i.





Gå til bund
Gravatar #51 - mat
5. nov. 2010 09:05
#50

Windcapes eksempel har en fleksibilitet som du ikke faciliterer i dit eksempel, se:


var users = [{name:"a", karma:"bad"},{name:"b", karma:"super"},{name:"c", karma:"bad"},{name:"d", karma:"super"}];

Array.prototype.filter = function (f) {
var r = [];
for ( var i = 0; i < this.length; i++ ) {
if ( f(this[i]) ) {
r.push(this[i]);
}
}
return r;
}

var superusers = users.filter( function(user) {
return user.karma == "super";
});


Hvis du vil filtrere på karma == "bad" bruger du bare en anden anonym funktion som "filter":


var badusers = users.filter( function(user) {
return user.karma == "bad";
});


Men det brtyder ikke at man ikke kan konstruere samme fleksibilitet i OOP uden brug af closures (reelt er ovenstående vel heller ikke en closure per se?)

Eller er jeg off?
Gravatar #52 - fidomuh
5. nov. 2010 09:26
#51

"Filter" funktionen er altsaa indbygget i "MagiskSprog7", eller hvad er det vi snakker om?

Hvis du selv skal lave filter funktionen, kan du jo lave den saa din syntax er som du vil have det......?

Men det brtyder ikke at man ikke kan konstruere samme fleksibilitet i OOP uden brug af closures (reelt er ovenstående vel heller ikke en closure per se?)


Ding :)
Gravatar #53 - mat
5. nov. 2010 12:55
#52

Du kan også skrive dit eget sprog og din egen kompiler, og få det præcis som du vil have det?

Pointen er jo at du kan filtrere en liste med en filtreringsfunktion?

iøvrigt skal linie 9 være:


if ( f(this [ i ] ) ) { // newz slettede square brackets i
Gravatar #54 - fidomuh
5. nov. 2010 13:06
#53

Det var et reelt spoergsmaal?
Jeg aner ikke hvilket sprog i taler om og der er ikke nogen der har uddybet om filter er en funktion man selv har skrevet.

Pointen er, at jeg kan filtrere enhver liste med en filtrerings funktion i ethvert sprog?

Jeg kan ikke se hvad det er i diskuterer, uden at vide om "filter" er jeres egen funktion.
Gravatar #55 - Windcape
5. nov. 2010 15:44
#54

Du har stadigvæk ikke forstået closures så.

mat i #51 bragte også prototyping ind i billedet, det er også endnu en super funktionalitet af JavaScript sproget.

fidomuh (54) skrev:
Jeg kan ikke se hvad det er i diskuterer, uden at vide om "filter" er jeres egen funktion.
Vi diskuttere closures. Indtil du forstår dem vil du ikke kunne forstå diskussionen.

QED
Gravatar #56 - røvskæg
5. nov. 2010 16:07
@Windcape

Kan du ikke forklare hvad closures er, med dine ord. plz.

Jeg må indrømme, at jeg ikker så stærk i de forskellige termer.
Gravatar #57 - Windcape
5. nov. 2010 16:32
#56

Jeg vil hellere linke wikipedia igen, for ikke at give en faktuel forkert forklaring.

http://en.wikipedia.org/wiki/Closure_(computer_sci...
Gravatar #58 - røvskæg
5. nov. 2010 20:12
Kan du i det mindste ikke uddybe, hvad du mener med, at folk er dårlige til at lave closures.

Windcape (9) skrev:
Problemet er at de fleste udviklere er så utrolig dårlige til closures :p
Gravatar #59 - Windcape
5. nov. 2010 20:26
#58

Jeg mente mere at forstå dem. F.eks. virker både du, og fidomuh, ikke særlige stærke i konceptet, og derfor ville JavaScript måske fremstå som svært forståeligt i kode der ville gøre høj brug af closures.

Jeg kender ihvertfald mange som har det på den måde med C#, når man benytter extension methods og lambda expressions eller delegates (delegate = closure).

Rigtig rigtig meget JavaScript er utrolig dårlig og grimt skrevet, fordi at udviklerne ikke har forstået og/eller brugt closures, hvor det ville give mening. Og det giver jo så sproget et dårlig ry.

Det er ligesom at Perl bliver betegtet som et "write-only" sprog.

(no pun intended, ingen ved alting (undtagen mig!))
Gravatar #60 - røvskæg
5. nov. 2010 20:43
Efter som jeg ikke er 100% sikker på hvad closures er, så kan jeg ikke sige at jeg har brugt det.

Men som jeg forstår det så har jeg brugt funktionaliteten, jeg har bare ikke været klar over, der var et udtryk for det.

Windcape (59) skrev:
Rigtig rigtig meget JavaScript er utrolig dårlig og grimt skrevet, fordi at udviklerne ikke har forstået og/eller brugt closures, hvor det ville give mening.


For mig er det sådanne set lige meget hvilke metoder man benytter til at nå sit mål.

Det eneste der giver JavaScript(JScript) et dårligt ry er MS's elendige og langsomme implementering.

Hvad hjælper det at vide aldting, hvis man ikke kan bruge det til andet end teoretisk pladder. ;-)
Gravatar #61 - Windcape
5. nov. 2010 20:49
røvskæg (60) skrev:
Men som jeg forstår det så har jeg brugt funktionaliteten, jeg har bare ikke været klar over, der var et udtryk for det.
Det har du helt sikkert. Det har de fleste!

Jeg tvivler også på at de fleste .NET programmører ved at delegates hedder closures i CS/matematik.
Gravatar #62 - mat
7. nov. 2010 17:41
#54

Eksemplet er JavaScript. I eksemplet er "filter" funktionen skrevet af mig, JavaScript har så vidt jeg ved ikke en "filter" funktion på arrays.

Ja du kan skrive en funktion der kan søge og udvælge fra lister i ethvert sprog. Eksemplet illustrerer bare et handy feature.

on topic:

Jeg tror at HTML5 vil overtage videoafspilning på nettet og lidt data visualisering, og det bliver på Flashs bekostning, men det er det.

HTML5 kommer ikke til at erstatte Flash som weapon of choice for animationstunge/grafikbærende feature "websites", for spil eller for webapplikationer. Alt det som Flash gør bedre end HTML nu vil HTML5 ikke rykke nævneværdigt ved (andet end videoafspilning).

For mange forskellige implementationer, og for langsom en udvikling vil betyde at HTML5 vil blive brugt til det samme som HTML4 bliver brugt til i dag.

Du kan ikke komme med en teknologi, der ikke har det samme feature set som konkurrenten, hvor implementation vil variere, og hvor brugerbasens adoptionsrate er langsom, og forvente at overtage markedet - ikke inden for en overskuelig fremtid i hvert fald.

Dertil skal lægges at selv hvis vi antager at HTML5 er featuremæssigt 1-1 med Flash nu, så står udviklingen for Flash eller andre jo ikke stille, og hvad er udsigten til at få feature x med i HTML5, som ikke allerede er i spec? Hvornår udkommer HTML6?

Men det er selvfølgelig svært at spå.

Adobe har iøvrigt lige annonceret "molehill" i en kommende Flash Player: http://labs.adobe.com/technologies/flash/molehill/ det ser da meget fedt ud?


Gravatar #63 - ebdrup
14. nov. 2010 16:57
#19: spejlkugle skrev:
En tastefejl i et variabel navn vil, f.eks. ikke melde fejl, der bliver blot oprettet en lokal variable med det "forkerte" navn, hvor efter resten af koden opfører sig uforudsigeligt, da den så prøver at bruge en uinitialiseret variabel.


Brug JSLint, det fanger alle den slags fejl og mere til.

Hvis du bruger alt for meget tid i din debugger, skulle du måske overveje at unitteste din JavaScript kode, der findes et væld af værktøjer til det. jQuery-gutterne har et og YUI har også et.

Du kan sagtens bygge store robuste applikationer med JavaScript, der er nemme at vedligeholde, men det kræver at man tænker sig om og bruger en god opdeling af kode. Fx View-Model-ViewModel

I min fritid har jeg bygget en JavaScript applikation på små 30.000 linjers kode, og det går fint med at vedligeholde den. Men jeg gør også tingene på min egen måde, dvs. jeg bruger ikke jQuery. Men i stedet en metode der er meget lig YUI's komponenter.

Jeg er fuldstændig tosset med JavaScript. Det er første gang i historien vi har muligheden for at sende kode rundt i hele verden på millisekunder, og kan få det afviklet fuldstændig end på stort set alle platforme. Ja der er endda flere forskellige runtimes (browsere) til hver platform. Og de virker alle 100% ens.

Ja, 100% ens. For forskellene mellem de forskellige browsere ligger ikke i JavaScript. Men udelukkende i DOM, CSS, HTML osv. Ikke i selve programmeringssproget.

Jeg synes det er intet mindre end fantastisk, og for mig at se er vi kun lige begyndt at kradse i overfladen på hvad vi kan med det.

Jeg synes SliverLight og Flash er dybt uinterresant i sammenligning.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login