Zastanawiam sie nad przyszloscia WebAssembly. Poki co, ma to byc jezyk niskopoziomowy i wydajny, sluzacy do optymalizacji kodu, ktory wymaga szybkosci. Ja natomiast zastanawiam sie, czy niedlugo nie powstanie framework frontendowy, kompilowany do WebAssembly np. z Rusta badz innego jezyka, ktory wydajnosciowo zaora Angulara czy Reacta i stanie sie de facto standardem tworzenia frontendu. Bylby to logiczny kolejny krok - od vanilla JSa przez jQuery az po dzisiejsze frameworki na frontendzie dzialaja coraz potezniejsze bestie, wykonujace coraz ciezsze zadania, PWA staja sie dostepne pod Windowsem czy zamiast natywnych aplikacji na smartfony, a JS podobno slabo sobie radzi ze skala i niezawodnoscia. Co o tym myslicie? Czy JS bedzie juz na zawsze standardem, a WebAssembly bedzie dodatkiem jak np. skrypty w C++ dla innych jezykow tam, gdzie potrzeba bezwzglednej wydajnosci czy moze niedlugo bedziemy tworzyc aplikacje webowe w Rust czy Kotlinie?
Mam nadzieję, że standardem będzie używanie czegoś typu TypeScipt albo innego języka, który pozwoli wygenerować kod JSowy.
WebAssembly raczej nie zastąpi JS. Ma zupełnie inne przeznaczenie przynajmniej na dzień dzisiejszy:
- Uzupełnienie JS. Ponieważ uruchamia się na tej samej Virtual Machine. Coś jak doapalanie Javy i Kotlina na JVM - masz dostęp do dwóch języków i możesz pisać w obu na raz.
- Kod nie jest kompilowany do JS.
- Zastosowanie głównie tam dzie wymaga się dużych mocy obliczeniowych np. edycja grafiki, video, CAD, kryptografia.
- WebAssembly jest oparte o C/C++ tak więc np. OpenCV jest w zasięgu wykorzystania.
- Gry. Tu na pewno się sprawdzi świetnie. Pytanie tylko czy będzie opłacalne z punktu finansowego.
To, że JS stanie się tym czym Java EE dziś (w starych wersjach) jest raczej nieuniknione. I wydaje mi się iż powinniśmy się spodziewać miliardów linii długu technologicznego w JS. Tysiące takich samych frameworków napisanych na 100 różnych sposobów, a ktoś to będzie musiał utrzymywać. Wystarczy zerknąć na AngularJS, któy do dziś jest używany. A mamy Angulara w wersji 5 (oficjalne wydanie) aktualnie.
- AngularJS - October 20, 2010; 7 years ago
- Angular 6.0.0-beta.2 / 31 January 2018; 45 days ago
Dla porónania weźmy JEE
- J2EE 1.4 (November 11, 2003) - w wersji 4
- Java EE 5 (May 11, 2006)
- Java EE 6 (December 10, 2009)
- Java EE 7 (June 12, 2013)
Mamy 4 wersje JEE na przestrzeni 10 lat. I 6 wersji Angulara na przestrzeni 7 lat. Pytanie nie czy lecz kiedy to wszystko wybuchnie.
Wiem, że post pod postem jest nieładny ale wpadło mi w rączki więc podrzucę (przy edycji niktby nie zauważył)
http://blog.stevensanderson.com/2018/02/06/blazor-intro/