Atrodo, kad Microsoft įrankiais Windows 8 programavimui renkasi HTML5 ir JavaScript. Ar tai
nereiškia .Net mirties?
Problema tame, kad dabartinis bumas yra mobiliajame pasaulyje, kuriame Microsoft dar nėra pilnai. PC
nueina nuo scenos, o su jais ir Windows, o todėl, atrodo, kad Microsoft pasiruošęs išmesti visą .Net
posistemę.
Neabejotinai Microsoft privalo kažką daryti, tačiau jis jau lūzeris - net jei visas pasaulis
persijungs prie JavaScript ir nuo platformos nepriklausomų aplikacijų. Esmė tame, kad kompanijai reikia
išskirtinės technologijos, jo HTML/ JS yra visuotiniai.
Ką sakys Microsoft? Šiaip, jie linkę nesiaiškinti viešai ir leisti technologijai savaime nuvysti. Pavyzdžiu
gali būti Silverlight, kadaise paskelbta vienintele platforma Windows Phone 7.
Sunku paaiškinti, kokia radikalia inovacija buvo .Net freimvorkas. Jam atsiradus pasikeitė programuotojų
darbo pobūdis. Iki tol Windows buvo grubia platforma su specifine API, realiai panaudojama tik su C ir C++.
Komponentiniu pagrindu buvo COM, kas vėl puikiai derėjo su C ir C++, nors kai kuriuos naudingus dalykus
buvo galima padaryti ir su VB6.
Su .Net programuotojai gavo tarpinę kalbą, CLR , C#, valdomą kodą ir nuolat augantį bibliotekų kiekį. C#
pradėjo kaip primityvi į Java ar C++ panaši kalba, tačiau netrukus išaugo į išplėtotą kalbą. O su laiku buvo
įtraukta tokios technologijos kaip WPF, WCF, LINQ ir kt. tai turtinga aplinka, kurios pačios realizavimui
reikėjo įdėti nemaža pastangų. WPF grafinė sistema netgi yra pilnas langų mechanizmo perrašymas
naudojant DirectX 3D. Daugelį metų laikyta, kad WPF pakeis Windows API leisdama sukurti super-
objektiškai orientuotą Windows sistemą. Tačiau staigiai Silverlight paskelbta platforma mobiliems
įrenginiams ir per kelis mėnesius WPF nuėjo nuo arenos.
Vis tik mobilių taikymų revoliucija nepagrįsta HTML5 / Javascript (iš tikro užimančią labai nedidelę dalį).
Apple iOS remiasi Objective C ir klasių biblioteka. Android Java ir klasių biblioteka. Phone 7 C# ir
klasių biblioteka. Tad jei Windows 8 tai renkasi nebus daug juose veikiančių taikymų. Tai kodėl
Microsoft renkasi tai?
Iš dalis, kad HTML/ JS yra nuo platformos nepriklausoma kuo, beje, siekė būti ir Silverlight, kuri
pralaimėjo kaip Flash alternatyva. O juk tai buvo tai, ko jiems reikėjo faktiškai, tai Windows naršyklėje!
Lengva sukurti stalinę aplikaciją ir j perkelti į Silverlight be jokių didesnių architektūrinių pakeitimų. Tai
kodėl atsisakyta Silverlight? Matyt todėl, kas sakyta anksčiau tai nėra nepriklausoma nuo platformos
technologija.
O Google ir Apple nėra tokie kvaili, kad savo platformas padarytų universaliomis. Yra Android
taikymai, ir yra iPhone taikymai ... tačiau dabar ten nėra jokių Windows taikymų. Ir tai požymis, kad
Microsoft yra be ateities.
Windows 8 išlaikė Phone 7 išvaizdą ir funkcionalumą kas neblogai. Bet versti pereiti programuotojus
prie pasenusių technologijų? JavaScript yra puikus dalykas, tačiau ji neaidžia toje pat lygoje, kaip C# ir
Java. Tai kaip galima ant jos statyti visos kompanijos ateitį?
Tai, kad Redmonde tylu, rodo, kad neturima jokios naujos didžiosios idėjos. Įdomiausia, kad lieka viena
patikima kalba tai C/C++, kuria parašytos dauguma sistemų, tarp jų ir mobiliosios. Rimtas programuotojas
neturėtų užmiršti šios kalbos.
Bet jei grįšim prie C++, kaip kursim vartotojo sąsajas? Rinktis tegalim tarp MFC (griozdiškų ir nerangių),
ATL (lengvai panaudojamos, tačiau sunkiai perprantamos), gryno Win32 API ar trečių šalių freimvorkų, tokių
kaip Qt. ir to nepalyginsi su tuo, kas yra .Net !
Istorinis diskursas
DOS laikais Windows atrodė patrauklu. Ne dėl išvaizdos, o dėl to, ką gaudavo programuotojas. Jie
buvo pilni keistų idėjų, tokių, kaip pranešimų burbuliavimas, klasės, trumpos ir ilgos nuorodos ir pan.
Windows buvo parašyti C ir veikė kviesdami C funkcijas, pateiktas kaip Windows API. Reikalai vystėsi ir
buvo duotas Visual Basic, leidęs greičiau sukurti aplikacijas, tačiau buvo lėtesnis ir nebuvo griežtai
objektinis. API pasistūmėjo į link objektiškai orientuotos technologijos, COM, neblogai sąveikaujančios su
VB, - ar tai būtų ActiveX ar COM Automation forma. COM nebuvo lengva panaudoti iš C++, tačiau
dauguma programuotojų išmoko tai daryti.
Windows taikymus galima sukurti ir su Java, tačiau tai nebuvo gerai sustyguota su API. MS turėjo
smarkią kovą su Sun ir jam nebuvo leista kurti savas JVM. Laukta naujesnio VB7, tačiau tai būtų evoliucija,
o ne revoliucija. Ir MS išdūrė visus, sukurdama savąją Virtualiiųjų Mašinų aplinką ir taip gimė .Net.
viskas, kas turėta mesta į šiukšlyną senojo formato VB, ActiveX bei COM. JVM pakeista CLR, o Java
C#.
Programuotojai ilgai purkštavo dėl VB6 nusodinimo, tačiau džiaugėsi COM mirtimi.
Su metais C# išsivystė į kažką, kas imta laikyti geriau už Java. Pasirodė, kad .Net nėra tokia katastrofa,
kaip daugelis įsivaizdavo. Nebloga kalba ir augantis bibliotekų skaičius leido lengvai kurti taikymus. Tačiau
ne viskas valdomame kode yra puiku. .Net programuotojai jaučia tam tikrą dirglumą dėl kai kurių dalykų:
- CLR turėtų būti nepriklausoma nuo platformos. Tik atvirojo kodo Mono projektas daro ją prieinamą
linux ir Mac pasauliams;
- Tikėtasi, kad COM ir ActiveX bus pakeisti ekvivalentais, tačiau šie nepasirodė;
- Tikėtasi , kad Windows API bus su valdomo kodo apvalkalais ir sdings COM API, ko neatsitiko. Pvz.,
pabandykite iš C# valdyti DirectX 10 ar vėlesnes versijas;
- Viltasi, kad C++ taps pilnai valdomo kodo kalba, tačiau ji vis dar negali naudoti WPF paimk-ir-numesk
redaktoriuje;
Čia pasiekiame WPF ir Silverlight. WPF yra Windows grafinės sistemos, GDI ir GDI+, atnaujinimas,
leidžiantis per DirectX panaudoti GPU. Nebloga idėja, tačiau daug murmančių dėl neefektyvumo ir
stabilumo. Nienintele WPF naudojančia programa tėra Visual Studio, nors daugelis vartotojų mano, kad ji
nenaudoja to.
Silverlight buvo protinga idėja. Tai intarpas (plugin), leidžiantis WPF aplikacijas vykdyti
naršyklėje. Tačiau kokioje naršyklėje? Šiuo metu jo nepalaiko daug platformų ir todėl suderinamumas tebėra
problema.
Kiti HOT.LT straipsniai:
Kobolo motina
Kompiuterių ištakos
Mažylis buvo pirmasis...
Programavimo kalbų klegesys
Džonas Bakas FORTRAN tėvas
Pirmoji programuotoja: Ada Lovelace
Konradas Cūzė ir jo C modeliai
Windows 11: negi vėl déja vu?
Bilas Geitsas: kol dar nebuvo garsus
Styvo Džobso kelias į žvaigždes
Lambda išraiškos Java į naują lygį
Unix ir C kalbos kiltis ir ... šachmatai
MS SQL užklausų rezultatų puslapiavimas
Truputis magijos: perrašome parseInt funkciją
Danas Briklinas: skaičiuoklės autorius
Aukšto lygio programavimo kalbų evoliucija
Ar mašina kada nors mąstys?
Eliza ir rūpesčiai dėl tapatybės
AWK kalba - sena ir nuolat aktuali
P-NP: Ant sveiko proto svarstyklių
Optimali stulpelių eilės tvarka
Mūšis kibernetiniame pasaulyje
Programavimo kalbų evoliucija
Seniausias pasaulyje analoginis kompiuteris
Kitoniškumas: dygios eilutės
Visata kaip kompiuteris
Pirmasis interneto ryšys
Džonas fon Neimanas
Virusinis marketingas
Programavimo paradigmos
Negirdima melodija
Haketonai
|