Poprzedni wpis (Fall to Fragments) | Następny wpis (Memcached to nie jest srebrna kula)
No future
Często widzę pytania typu jakiego frameworka mam się nauczyć? (albo jaki język ma przyszłość?), kto chce się przekonać, niech spojrzy na Stack Overflow. Zadają je najczęściej newbies, albo jeszcze się uczący albo zaraz po szkole, chcąc się wygodnie ustawić na przewidywane 8-10 lat pracy jako software developer (potem i tak pójdą w managery i będzie im wszystko jedno). Najczęściej dostają kilka-kilkanaście odpowiedzi, sumarycznie dających obraz tego, co jest teraz hot i za czym doświadczeni developerzy sikają w majty: Rails, Merb, Django, Pylons, Werkzeug, erlang, haskell... Trudno nazwać te wszystkie odpowiedzi błędnymi, bo prawdopodobnie w krótkiej perspektywie (2 lata? 3 lata?) to wszystko będzie się sprawdzało. Ale co potem?
A potem wszystkie te odpowiedzi będzie można sobie potłuc o kant zbolałej dupy. Wszystkie te frameworki odejdą w zapomnienie, a języki staną się niszowe (albo nigdy z niszy nie wyjdą). Patrząc na aplikacje, których używają miliony aż dziw, że nikt nie podaje odpowiedzi, która powinna nasująć się sama: "synku, ucz się JavaScript-u". A co to są za aplikacje, te których używają miliony? Nie Word, nie Excel, nawet nie Firefox ani Internet Explorer (paradoks, ale przeglądarka jest taką quasi-aplikacją, jest raczej wirtualnym środowiskiem aplikacyjnym — niektórzy, jak Joel Spolsky, uważają przeglądarki za coś, co zabija tradycyjne desktopy). To GMail, Google Reader, Google Documents, Picasa i pozostałe z koszyczka Google™ (Yahoo!™ nie ma aż takich ambicji, po kupieniu Flickr-a nie rozpoczęło globalnej ekspansji w celu przejęcia władzy nad internetem). Każda z nich jest od dna aż do szczytu napakowana JavaScriptem, co czasem daje efekt taki, że użytkownicy... nie umieją już posługiwać się desktopowymi aplikacjami, które były pierwowzorami aplikacji webowych Google. Uczeń przerósł mistrza używając technologii, która miała stworzyć w internecie namiastkę interaktywności znanej z aplikacji desktopowych. Być może za kilka lat jedynymi płatnymi aplikacjami desktopowymi będą... edytory programistyczne. Bo innych aplikacji w ogóle nie będzie.
Idea webowego desktopu nie jest nowa. Sięgając pamięcią do zamierzchłych lat 90-tych XX wieku niektórzy mogą sobie przypomnieć idee komputerów sieciowych, pozbawionych twardych dysków, będących jedynie stacjami roboczymi z wypasionymi kartami graficznymi (do renderowania stron WWW w oknie przeglądarki). Jak przez mgłę majaczy mi, że nawet poważne firmy, jak np. Sun Microsystems, maczały palce w realizacji tych idei. Dzisiejsze netbooki (z małymi dyskami SSD, procesorem Intel® Atom™, napędzane specjalnie skrojonymi dystrybucjami linuksa) są pokłosiem i ewolucyjnym rozwinięciem tej idei — to nie maszynka desktopowa ma dysponować przerażającą mocą obliczeniową, tylko maszyna, na której jest uruchomiona aplikacja. Stacji roboczej wystarczy tyle mocy, żeby wyrenderowała stronę w przeglądarce.
Za 5 lat obecne ramówki aplikacyjne i języki będą zjawiskiem zanikającym, a tym, co będzie napędzało aplikacje będzie ogromne morze JavaScriptu. I o ile wiem, nie jestem odosobniony w tym poglądzie...
Etykiety: internet programowanie
Komentarze (8)
#2 Fiedzia skomentował(-a) 11 grudnia 2008 o 17:35
Co do przewidywań: przypominam, że jeszcze nie tak dawno wieszczono, że gwałtowny rozwój komunikacji skutkował będzie tonami końskiego nawozu na ulicach. Przewidywań na 5 lat to prostu nie warto się podejmować - być może javascriptu w ogóle nie będzie, a jego rolę przejmie flash/silverlight/javafx. Wymarłych technologii które swego czasu miały być przyszłością jakoś nie brakuje.
#3 Eluś skomentował(-a) 11 grudnia 2008 o 19:46
Pamiętam, jak jeszcze jakieś 5 lat temu JS był przez wszystkich pomiatany. Nawet chłopcom pehapowcom wydawało się, że to oni programują w „poważnym języku”, a JS to jakaś dziecinada. Niewiele było wtedy ludzi, którzy „czaili bazę” (choć nie wiem czy dziś jest inaczej).
Od tego czasu dużo się zmieniło. Furorę zaczęły robić aplikacje webowe, które nawiasem mówiąc bardziej pociągnęły www w stronę HTML5 niż XHTML. Przeglądarki znacznie się poprawiły – usprawniono obsługę CSS, renderowanie stron, wzrosła wydajność silników JS. Pomijając intensywne animacje i obsługę multimediów do większości aplikacji wystarczy moc zwykłej przeglądarki. Nie pamiętam już nawet, kiedy ostatnim razem korzystałem z jakiegoś apletu Javy.
Nie przewiduję oczywiście, że znikną pluginy – tam gdzie przeglądarka nie da rady, tam wtyczka pomoże. Rosnąc będą jednak możliwości samych przeglądarek.
#4 Lukasz Korecki skomentował(-a) 11 grudnia 2008 o 20:45
Bardziej nie moglbym sie zgodzic - Javascript 'ostatnio' zyskal dodatkowy nowy rynek w postaci Adobe AIR - mozna pisac kompletne aplikacje uzywajac 'swietej trojcy' (css+html+js) i o nic sie nie martwic Coprawda quake'a sie nie napisze (jeszcze?), ale do innych zastosowan wystarczy.
No i nie nalezy zapomniec o produkcie Aptana'y - Jaxer czyli serwer oparty o JS (js po obu stronach)
#5 aaaaa skomentował(-a) 11 grudnia 2008 o 21:13
Eee, coś ten wasz super zajefajny JavaSkrypcik bedzie musiało serwować, więc czemu nie "Rails, Merb, Django, Pylons, Werkzeug, erlang, haskell..."..
a co do Adobe Air - tak. Wypas technologia, super możliwości.. tylko że.. używa ktoś z was tego? AIR Google Analytics, AIR eBay.. i pewnie tyle (jeśli wogóle).. Adobe Air przegrywa własnie z JavaScriptem.
#6 jarek skomentował(-a) 12 grudnia 2008 o 08:58
Do "serwowania JavaScriptu" wystarczy najprostszy serwerek http: NGinx, Lighttpd, cokolwiek. Do tego kawałek backendu i killer aplikacja gotowa.
#7 dkoto skomentował(-a) 17 grudnia 2008 o 04:15
Wspomnieliście, że w pryszłości nie będzie OS, tylko przeglądarka + drivery. Może do tego dojśc dużo szybciej niż się wydaje - Google już pracuje nad takim cudem:
http://code.google.com/p/nativeclient



#1 Michał Chruszcz skomentował(-a) 11 grudnia 2008 o 16:46
W pełni podzielam Twoje zdanie. Czekam na moment, gdy pewna wersja Windows zamiast tapety i ikonek na desktopie będzie posiadać pasek adresu, gdy system operacyjny to będzie przeglądarka Web ze sterownikami. Fakt, że były już takie inicjatywy, ale dam głowę, że za niezbyt długi czas stanie się to standardem. I moim zdaniem wszystko pójdzie w tę stronę jeśli chodzi o aplikacje desktopowe.