{"id":99981,"date":"2021-04-21T16:22:48","date_gmt":"2021-04-21T14:22:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-servernoj-javascript-platformy-node-js-16-0"},"modified":"2021-04-21T16:22:48","modified_gmt":"2021-04-21T14:22:48","slug":"vypusk-servernoj-javascript-platformy-node-js-16-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-16-0","title":{"rendered":"Izlazak serverske JavaScript platforme Node.js 16.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Objavljeno je Node.js 16.0, platforma za izvo\u0111enje mre\u017enih aplikacija na jeziku JavaScript. Node.js 16.0 pripada grani dugoro\u010dne podr\u0161ke, no ovaj status \u0107e biti dodijeljen tek u listopadu, nakon stabilizacije. Podr\u0161ka za Node.js 16.0 trajat \u0107e do travnja 2023. godine. Odr\u017eavanje prethodne LTS grane Node.js 14.0 trajat \u0107e do travnja 2023. godine, a starije LTS grane 12.0 do travnja 2022. godine. Odr\u017eavanje LTS grane 10.0 bit \u0107e prekinuto za 10 dana.        <\/p>\n<p>Glavna pobolj\u0161anja:  <\/p>\n<ul>\n<li class=\"l\"> V8 motor a\u017euriran je na verziju 9.0 (u Node.js 15 kori\u0161tena je verzija 8.6), \u0161to je omogu\u0107ilo implementaciju takvih mogu\u0107nosti u Node.js 16 kao \u0161to su svojstvo \"indices\" za regularne izraze (uklju\u010duje niz s po\u010detnim i zavr\u0161nim pozicijama grupa podudaranja), metoda Atomics.waitAsync (asinhrona verzija Atomics.wait), podr\u0161ka kori\u0161tenju klju\u010dne rije\u010di await na vrhu modula. Poziv funkcija je ubrzan u situacijama kada broj proslije\u0111enih argumenata ne odgovara parametrima definiranim u funkciji.\n<li class=\"l\"> Stabiliziran je API Timers Promises, koji pru\u017ea alternativni skup funkcija za rad s tajmerima, koji vra\u0107aju Promise objekte, \u0161to omogu\u0107uje izbjegavanje kori\u0161tenja util.promisify(). import { setTimeout } from 'timers\/promises'; async function run() { await setTimeout(5000); console.log('Hello, World!'); } run();\n<li class=\"l\"> Dodana je eksperimentalna implementacija API Web Crypto, namijenjena izvo\u0111enju osnovnih kriptografskih operacija na strani web aplikacija, kao \u0161to su manipulacije s kriptografskim ha\u0161evima, generiranje i provjera digitalnih potpisa, kodiranje i dekodiranje podataka koriste\u0107i razli\u010dite metode \u0161ifriranja, te generiranje kriptografski sigurnih slu\u010dajnih brojeva. API tako\u0111er sadr\u017ei funkcije za generiranje i upravljanje klju\u010devima.\n<li class=\"l\"> N-API (API za razvoj dodataka) a\u017euriran je na verziju 8.\n<li class=\"l\"> Provedena je migracija na novo izdanje upravitelja paketa NPM 7.10.\n<li class=\"l\"> Stabilizirana je implementacija klase AbortController, koja se temelji na Web API AbortController i omogu\u0107uje otkazivanje signala u odabranim API-ima temeljenim na Promise.\n<li class=\"l\"> Stabilizirana je podr\u0161ka za tre\u0107u verziju formata Source Map, koji se koristi za mapiranje generiranih, obra\u0111enih ili pakiranih modula na izvorni kod.\n<li class=\"l\"> Za kompatibilnost sa zastarjelim Web API-ima dodane su metode buffer.atob(data) i buffer.btoa(data).\n<li class=\"l\"> Zapo\u010delo je formiranje izdanja za nove Apple ure\u0111aje opremljene ARM \u010dipom M1.\n<li class=\"l\"> Na Linux platformi, zahtjevi za verziju kompajlera podignuti su na GCC 8.3.    <\/ul>\n<p>Podsjetimo, platforma Node.js mo\u017ee se koristiti za serversko odr\u017eavanje web aplikacija, kao i za izradu obi\u010dnih klijentskih i serverskih mre\u017enih programa. Za pro\u0161irenje funkcionalnosti aplikacija za Node.js pripremljena je velika kolekcija modula, u kojoj se mogu na\u0107i moduli s implementacijom.  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/server\/\"   title=\"poslu\u017eitelja\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1573\">poslu\u017eitelja<\/a> i klijenata HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduli za integraciju s raznim web okvirima, obrada WebSocket i Ajax, konektori za baze podataka (MySQL, PostgreSQL, SQLite, MongoDB), predlo\u0161ci, CSS motori, implementacije kriptoalgoritama i sustava autentifikacije (OAuth), XML parseri.    <\/p>\n<p> Za osiguranje obrade velikog broja paralelnih zahtjeva, Node.js koristi asinkroni model pokretanja koda, koji se temelji na obradi doga\u0111aja u neblokiraju\u0107em modu i definiranju callback handlera. Kao metode multiplexiranja veza podr\u017eavaju se razli\u010dite metode poput epoll, kqueue, \/dev\/poll i select. Za multiplexiranje veza koristi se knji\u017enica libuv, koja je nadogradnja na libev u Unix sustavima i na IOCP u Windowsu. Za izradu skupa niti (thread pool) koristi se knji\u017enica libeio, a za izvr\u0161avanje DNS upita u neblokiraju\u0107em modu integriran je c-ares. Svi sustavni pozivi koji uzrokuju blokiranje izvode se unutar skupa niti i zatim, kao i handleri signala, vra\u0107aju rezultat svog rada putem anonimnog kanala (pipe). Izvr\u0161avanje JavaScript koda osigurava se kori\u0161tenjem motora V8 razvijenog od strane kompanije Google (dodatno, Microsoft razvija varijantu Node.js s motorom Chakra-Core).        <\/p>\n<p>Su\u0161tinski, Node.js je sli\u010dan framework-ima Perl AnyEvent, Ruby Event Machine, Python Twisted i implementaciji doga\u0111aja u Tcl, ali je petlja obrade doga\u0111aja (event loop) u Node.js skrivena od programera i podse\u0107a na obradu doga\u0111aja u web-aplikaciji koja radi u pretra\u017eiva\u010du. Kada pi\u0161ete aplikacije za Node.js, morate uzeti u obzir specifi\u010dnost programiranja zasnovanog na doga\u0111ajima, na primer, umesto izvr\u0161avanja &#171;var result = db.query(&#171;select..&#187;);&#187; uz \u010dekanje zavr\u0161etka rada i kasniju obradu rezultata, u Node.js se koristi na\u010delo asinhronog izvr\u0161enja, tj. kod se transformi\u0161e u &#171;db.query(&#171;select..&#187;, function (result) {obrada rezultata});&#187;, pri \u010demu upravljanje odmah prelazi na dalji kod, a rezultat upita \u0107e se obraditi kako podaci budu pristizali.        <\/p>\n<p>Dodatno, vrijedi napomenuti da je tvrtka Deno, koju je osnovao kreator Node.js za razvoj nove generacije platforme Deno, primila 4,9 milijuna dolara investicija. Po svom odredi\u0161tu, Deno nalikuje Node.js, ali nastoji ispraviti konceptualne gre\u0161ke u arhitekturi Node.js i pru\u017eiti korisnicima sigurnije okru\u017eenje. Isti\u010de se da \u0107e poslovna rje\u0161enja kompanije Deno biti izgra\u0111ena na potpuno otvorenim proizvodima, dok se model Open Core s izdvanjem zasebnih pla\u0107enih funkcionalnosti do\u017eivljava kao neprihvatljiv za Deno platformu.<br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54998\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 16.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 16.0 \u043e\u0442\u043d\u0435\u0441\u0451\u043d \u043a \u0432\u0435\u0442\u043a\u0430\u043c \u0441 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Node.js 16.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2023 \u0433\u043e\u0434\u0430. \u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 Node.js 14.0 \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2023 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 12.0 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-99981","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 16.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-16-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 16.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 16.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-16-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-04-21T14:22:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-04-21T14:22:48+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Izdanje serverske JavaScript platforme Node.js 16.0 | ProHoster","description":"Objavljen je Node.js 16.0, platforma za izvo\u0111enje mre\u017enih aplikacija na JavaScript jeziku.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-16-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Node.js 16.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 16.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.","og:url":"https:\/\/prohoster.info\/hr\/blog\/news\/vypusk-servernoj-javascript-platformy-node-js-16-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-04-21T14:22:48+00:00","article:modified_time":"2021-04-21T14:22:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99981","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-04-21 14:41:15","updated":"2026-02-09 16:50:50","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/99981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=99981"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/99981\/revisions"}],"predecessor-version":[{"id":158817,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/99981\/revisions\/158817"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=99981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=99981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=99981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}