29 komentářů k článku JavaScript na serveru: Patří budoucnost Node.js?:

  1. Eda

    Jen tak dál

    Díky za článek, jen tak dál.

    Místo dalšího článku o starém, hrozném Zendu doporučuju sepsat další pokračování série o Node.js. To je zajímavé a žhavé téma :-)

  2. noJavaScript

    fuj nepouzivajte JS!

    ked vidim syntax JavaScript chce sa mi zvracat.
    ako moze taky jazyk este existovat? ten jazyk dokopy nic nevie, a je velmi zastaraly.

    Oproti tomu Ruby – moderny jazyk, krasna syntax, netreba deklarovat premenne – dynamicky typovany, plne OOP, blocky atd. atd.

    Chvala bohu ze W3c pracuje aspon na ECMAscript 6.

    1. Jakub MrozekAutor příspěvku

      Re: fuj nepouzivajte JS!

      Naštěstí můžete používat CoffeeScript, ve kterém bude vyvíjená i aplikace v rámci tohoto seriálu.

          1. Radek Miček

            Re: fuj nepouzivajte JS!

            Bohužel, mnoha špatným částem JavaScriptu se prakticky nejde vyhnout, a proto si myslím, že je lepší se vyhnout JavaScriptu – například naspat kód v jiném jazyce a ten přeložit do JavaScriptu.

            1. Riff

              Re: fuj nepouzivajte JS!

              To je dost omezené uvažování. V každém jazyce najdu dost nelogičností, špatně navržených částí nebo krkolomných postupů na to, abych mohl prohlásit „jazyku xxx je lepší se vyhnout“.

              1. Radek Miček

                Re: fuj nepouzivajte JS!

                To je dost omezené uvažování.

                To je racionální uvažování – vzhledem k tomu, že existuje mnoho lepších jazyků. Pokud budete psát větší program a budete mít zájem, aby fungoval, tak spíše než volnost a shovívavost jazyka oceníte schopnost jazyka vynucovat a garantovat různé vlastnosti programu.

                1. Riff

                  Re: fuj nepouzivajte JS!

                  Větší programy v JS vídám takřka pořád. Ale pokud máš prostě jasno, že je to to největší zlo, nebudu ti to vyvracet, mám teď lepší věci na práci ;-)

    2. blizz

      Re: fuj nepouzivajte JS!

      ja som tiez na JS nadaval az kym som v nom 2 mesiace vkuse neprogramoval a nepochopil som jeho filozofiou. JS ma uplne inu filozofiu ako mainstreamove jazyky ale inak je to pekny jazyk, nie kazdemu sadne jeho ukecana syntax ale to krasne riesi http://gkz.github.com/LiveScript/

      1. Riff

        Re: fuj nepouzivajte JS!

        Přesně tak. Nejvíc mě JS chytl až po delší době, když jsem se do něj opravdu dostal a pochopil všechny principy. Co jsem vypozoroval, tak nejvíc na něj nadávají lidi, kteří v něm ve skutečnosti neumí a nechápou ho. LiveScript vypadá opravdu zajímavě, díky za tip.

  3. langpa

    CoffeeScript ne hned na začátku

    Prosím, nepleťte CoffeeScript s Node.js hned na začátku.

    Už je proto, že většina balíčků v npm je v čistém JS, node core je také čistý JavaScript (obalující minimální C++ vrstvu) a pokud bude někdo v Node.js programovat, musí rozumnět sémantice JavaScriptu.

    CoffeeScript je „hezká“ věc — to je več názoru, mě osobně se velmi špatně čte, své místo určitě má, ale zařadil bych ho buď stranou od seriálu o Node nebo až na konec, jako možnost.

    To, že je kód v node samý callback a closure ani CoffeeScript nevyřeší a to, že nabízí zápis
    (x) -> foo x
    na místo ukecaného
    function(x) { foo(x); }
    je marginální. Člověk aby přemýšlel co se ve skutečnosti v kódu děje a co že mu to kafe z toho kódu udělá. Toto zrovna je jednoduchý příklad, ale není vyjímkou mít callbacky vnořené dva nebo tři a pak už je zápis složitější na pochopení.

    Prototypová dědičnost je také základ JavaScriptu. Má svá pravidla a pokud je člověk nezná, pak ho ani CoffeeScript nezachrání

    1. Jakub MrozekAutor příspěvku

      Re: CoffeeScript ne hned na začátku

      Děkuji za komentář.

      Před zveřejněním prvního dílu jsem napsal na weblog článek o tom, co od seriálu očekávat: http://weblog.ronnieweb.net/2012/09/serial-o-node-js-na-zdrojaku/.

      Přemýšlel jsem dlouho, jakým způsobem ten seriál psát. V angličtině existuje velké množství tutoriálu o Node.js, nicméně nikde jsem neviděl sérii článků, která by dokázala zdůraznit ty pravé výhody Node.js, jak je vidím já. Pro mě je Node.js platforma, která umožňuje vyvíjet úplně nový druh webu, který výrazně těží z propojení klientského i serverového JavaScriptu, což se projeví třeba mnohem lepším UI nebo možností velmi jednoduše psát real-time aplikacemi (viz odkazovaný článek na blogu).

      To je také důvod, proč kromě Node.js budou okrajově zmíněny i další technologie. Aplikace bude třeba vyvíjena na Githubu a hned v úvodním díle, ve kterém začnu vyvíjet aplikaci (4.), také čtenáře rychle provedu vytvořením účtu v cloud hostingu a způsobem, jak v něm aplikaci rovnou spustit. Pokud článek bude číst někdo, kdo do té doby prováděl deployment jen přes FTP, tak uvidí ten drastický rozdíl, jak snadno se změny v Node.js aplikacích dostávají na server, vč. třeba automatické instalace npm modul ap. Zároveň si bude moci repo na githubu forknout a udělat si zde vlastní změny a ihned je pak odeslat do cloudu. Nebo vidět aplikaci v jednotlivých fázích rovnou v provozu. Podle mě tím výrazně stoupne užitek celého seriálu.

      A jednou z technologií v tomto případě bude i CoffeeScript, protože je velmi často vývojáři v Node.js používán. Navíc zde na Zdrojáku již seriál o CS proběhl, takže v češtině ty materiály jsou. Nicméně chápu, že se někomu CoffeeScript nelíbí a nerad bych tyto čtenáře od Node.js odradil, takže původně jsem plánoval, že u každé ukázky bude i odkaz na gist.github.com, aby viděl i verzi v čistém JavaScriptu. Nicméně zvažuji i použití podobného způsobu prezentace kódu, jako je třeba v této knize: http://arcturo.github.com/library/coffeescript/04_idioms.html, kdy si čtenář může rovnou v článku zobrazit ukázky v jazyce, o který má zájem.

  4. Širo

    Ja JavaScript milujem

    Ja JavaScript milujem. Je to geniálny dynamický jazyk a ten čo ním opovrhuje, asi ho nepochopil a nikdy ani nepochopí. Každý jazyk má svoje výhody a nevýhody, ale tvrdiť o niečom – čomu nerozumiem, že je to zlé a škaredé … to je proste choré. … a nemôžeme JavaScript porovnávať s niečim, na čo nebol určený.

    Som veľmi rád, že sa Zdrojak začal znova venovať node.js. Na node.js mi veľmi vadí, že je holý, bosý a asynchrónny. Od vývojárov node.js by som čakal niečo ako od Microsoftu .NET Framework (viem, chcem veľmi veľa) a až potom by bolo na čase porozmýšľať, kedy s ním do produkcie… Rozbehať viacej stránok na serveri v node.js je tiež problém, treba na to niečo ako port forwarding alebo forwardovať ho cez Apache, čo sa mi zdá zbytočné. Toto sú proste jeho nedostatky (ktoré nevravím, že sa nedajú riešiť). Myšlienka node.js je pekná, ale veľmi záhadná.

    Ď. za článok

    1. langpa

      Re: Ja JavaScript milujem

      > Na node.js mi veľmi vadí, že je holý, bosý a asynchrónny.

      Naopak, Node se nesnaží diktovat jak má aplikace vypadat. To, že není základ plný redundancí a balastu je vlastně velká výhoda.
      Node + npm umožňuje psát a používat „packages“ a to jak pure JavaScript tak i bindingy v C++, což dokáže pokrýt většinu potřeb (ne-li všechny).
      To, že je v node vše asynchronní, je potíž jen na začátku, než se člověk seznámí s celým prostředím a principy. Pro velké zátěže (myšleno počet requestů) je režie s thready s klasickým blokujícím modelem příliš vysoká. Ve skutečnosti to je jeden z původních motivů vzniku node.js (C10k problem)

      > Od vývojárov node.js by som čakal niečo ako od Microsoftu .NET Framework (viem, chcem veľmi veľa) a až potom by bolo na čase porozmýšľať, kedy s ním do produkcie…

      Tak to od vývojářů Node nikdy mít nebudete. Microsoft diktuje co a jak se má používat, Node naopak dává jen základ a to jak jej budete používat je na Vás. Můžete si implementovat své DSL jazyky, používat CoffeScript nebo Coco nebo cokoliv co se (Vám, uživatelům Node) bude hodit. Mimochodem jsem jedním z přispěvatelů do Node, i když ne příliš dlouho, a můžu říct, že komunita je velmi ochotná a pružná.

      > Rozbehať viacej stránok na serveri v node.js je tiež problém, treba na to niečo ako port forwarding alebo forwardovať ho cez Apache…

      VirtualHosty lze v Node.js implementovat též (můžu rozebrat jinde bude-li zájem). Pro ostrý provoz se v zátěži stejně používá Nginx a já k tomu mám navíc i HAProxy. Ale to nemění nic na faktu, že i samotné (ač možná zbytečně krkolomné) řešení čistě s Node bude výkonnější než Apache samotné.
      Node si také může omezit práva process.setuid(­...); process.setgid(­...);, to se hodí mapř. po inicializaci, kdy se načítají citlivá data (klíče, hesla…) a před spuštěním serveru se omezí práva.

      1. Širo

        Re: Ja JavaScript milujem

        Nechcem urážať a kritizovať node.js, som vďačný – že to niekto vymyslel.


        Holý, bosý … človek potrebuje niečo a musí sa ihneď pozerať po moduloch. To je presne to, čo mi na node.js vadí. Je síce fajn, že mám vždy 10 možností, ale ktorá možnosť je správna? Niektoré moduly píše jeden človek (zabije sa, čo potom?) a verzie sa niekedy dosť líšia. Toto je presne to čo .NET Framework rieši.

        Asynchrónne node.js: na tom je najhoršie to, že človek musí zmeniť úplne rozmýšľanie a nevidím v tom žiadnu výhodu. Disk alebo databáza je zo svojej podstaty synchrónne IO.

        Spustenie node.js do prevádzky: veľmi komplikované pre bežných kóderov.


        Netreba to brať ako kritiku, je to len môj pohľad. Ja som určite s node.js neprestal. Takže teším sa na ďalší diel!

        1. vidya

          Re: Ja JavaScript milujem

          „Asynchrónne node.js: … nevidím v tom žiadnu výhodu.“ to je prave ten problem, ze tvoj use case (CRUD?) nie je to s cim zacal na node pracovat ryan dahl a co s nim robia joyent, yammer a dalsi.

          „Spustenie node.js do prevádzky: veľmi komplikované pre bežných kóderov.“
          tak ked mas napr expressjs appku, tak ti staci na vps nainstalovat nodejs, potom cez npm forever a teoreticky to staci.

      2. Michal Zahradníček

        Re: Ja JavaScript milujem

        Článok na elegantné riešenie na VirtualHosty v node.js by som bral všetkými desiatimi. Je to totiž jediná vec, ktorá ma tak trocha odradzuje od tejto technológie.

  5. Defiler

    Moc díky
    Moc děkuji za článek. Respektive děkuji za započetí celého seriálu. Už několik měsíců žiji v přesvědčení, že Javascript je nejperspektivnější jazyk s obrovským potenciálem.

    Počítejte se mnou:

    1. Client-side Javascript
    2. Programování pro .NET s JScript
    3. Programování Metro aplikací http://mywindows.cz/item/jak-za-jeden-tyden-pripravit-kompletni-aplikaci-pro-windows-8-s-pouzitim-technologii-html5-css3-a-javascript-den-3/category/vyvoj-metro-aplikaci/group/windows-8
    4. Doplňky pro Google Chrome
    5. Server-side Javascript
    6. Využití v mobilních aplikacích (Ať už jednoduché patlání ve WebView či pomocí celých řešení, jako je Phonegap; vymakané frameworky jako http://www.sencha.com/products/touch)
    7. Spousta dalších věci, na které jsem zapomněl

    Když se podívám pár let zpátky – Javascript jsem taky nenáviděl a nazýval jsem ho tou největší odporností. Ale pak jsem narazil na Node.js (v té době byl mezi top 10 buzzword-y) a slogan „one language everywhere“ a obrátil jsem o 180 stupňů. Protože přesně takový charakter tento jazyk má. Když si dáte trochu práce – můžete ho používat takřka všude.

    Takže jsem přídavné jméno „hnusný“ vyměnil za „jiný“ a dívám se na celou věc trochu jinak. Jaký dává smysl fanaticky odsuzovat Javascript, když celý svět chce Javascript a celý svět momentálně žije Javascriptem?
    Někomu to určitě smysl dává. Tak prosím, žijte si svou Non-javascript way, programujte si ve svých „skutečných jazycích“ a nespamujte diskuze svými znechucenými komentáři.

      1. Martin Hassman

        Re: Moc díky

        To je pochopitelně nesmysl, dále bude existovat hromada jazyků, ze kterých si lidé budou vybírat. Svoboda musí být. Jenom ty jazyky budou ve skutečnosti všechny interpretované JavaScriptem. 8-)

        1. Inkvizitor

          Re: Moc díky

          Ta myšlenka je zajímavá a napadlo mě to před časem taky. Je ale otázka, zda ta sémantická propast mezi některými jazyky a JS nebude tak hluboká, že ty programy v jiných jazycích budou neefektivní. Viz třeba problémy některých jazyků na JVM.

  6. starter

    Ruby srovnání

    Představení rychlosti node.js uvedením srovnání s Ruby mě pobavilo. Proti Ruby je každý jazyk rychlý.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3707