Отговори на тема  [ 15 мнения ] 
що е node.js и има ли то почва (у нас) 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 9635
Мнение що е node.js и има ли то почва (у нас)
в няколко теми споменавате node.js в различни контексти, в темата за малинката, примерно,
върви и въпроса за ползването на минималистичен хардуер (ланукс с 256? RAM)

понеже ми стана интересено и имам бели петна около въпросното нещо, поразгледах набързо за какво иде реч.
честно казано, очаквах, че думичката 'node' наистина означава едно малко спретнато интерпретаторче на JS, което да може да се подкара едва ли не и на по-голям пикльо. обаче май нещата не са баш така, или пък понятието 'node' е по-грандоманско.

може ли знаещите да обяснят какъв е чара на node.js, очевидно не иде реч за спартнска реализация при малко ресурси.


Съб Мар 24, 2018 9:23 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4174
Местоположение: Brussels / Пловдив
Мнение Re: що е node.js и има ли то почва (у нас)
Преди 10-на години бях отвратен от M$ и започнах да се оглеждам за дългосрочна алтернатива на .NET за писане на софтуер. Изискванията ми бяха:
  • да може да го търкалям на всякаква платформа а не само на виндовс
  • да може да се ползва за веб интерфейс, десктоп интерфейс, мобилни апп
  • да е опън сорс
  • да има голямо комюнити, инструментариум и т.н. полезни неща
  • да скалира от ембедед машина до облак
И тъй като по това време ми беше айляк реших да отделя повечке време за ресърч и след може би повече от година оглеждане и експериментиране се очертаха само 2 технологии които ставаха:
  • node.js
  • Qt
Qt нещо не ми хареса - адски тежко Ц++ с допълнителен синтаксис, предкомпилатор и т.н. Но най вече, че на сървъра месиш C++ с JS като ти трябва да правиш web interface - а то светът вървеше натам, че даже вече и подмина с тия мобилни технологии. С node.js обаче в това отношение няма проблем - всичко е JS - верно е много малоумен език ама щеш не щеш пишеш ли софтуер рано или късно ще се сблъскаш с него. Заложих на node и определено не съм сбъркал.

Конкретен пример - вчера колегите ми мрънкаха, че искали експорт на данните от скенера - 300 снимки по 3-4мб ... няма как да се свалят една по една през web interface, на мен пък не ми се отваря достъп до файловата систена на storage където ги пазя (не съм луд да ги вкарвам в SQL база данни) и им предложих да си ги свалят като zip файл - хареса им - на мен ми костваше 20-на реда код:

Код:
app.get('/scan/:scan.zip', async (browser_request, browser_response) => {
    try {
        var archive = archiver('zip', { store: true });
        const { scanPath } = paths(Path.join(config.PATH,'/db'), browser_request.scan[service.id]);

        archive.pipe(browser_response);
        archive.directory(scanPath, false);

        archive.on('warning', error => debug('Archive warning:', error));
        archive.on('error', error => debug('Archive error:', error));

        archive.finalize();
    } catch(error) {
        debug('Error:', error);
        browser_response.status(500).send(error);
    }
});

И съответно в HTML файла добавих:
Код:
<a href={`/scan/${scan.id}.zip`}>Download</a>

И готово - сега който иска да си сваля данните с каквото му е кеф - browser, wget, curl, etc ... та ако трябваше това да го разпиша на .нет или qt или каквото и да е друго - щеше да ми коства сигурно дни и сумати изписан код. И това нещо не генерира никакви локални zip файлове на сървъра.

И така мантрата ми е
  • C за performance (без ++)
  • node.js за всичко останало

_________________
Мразя да мразя ...


Съб Мар 24, 2018 9:59 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: що е node.js и има ли то почва (у нас)
ДедоБоре написа:
в няколко теми споменавате node.js в различни контексти, в темата за малинката, примерно,
върви и въпроса за ползването на минималистичен хардуер (ланукс с 256? RAM)

понеже ми стана интересено и имам бели петна около въпросното нещо, поразгледах набързо за какво иде реч.
честно казано, очаквах, че думичката 'node' наистина означава едно малко спретнато интерпретаторче на JS, което да може да се подкара едва ли не и на по-голям пикльо. обаче май нещата не са баш така, или пък понятието 'node' е по-грандоманско.

може ли знаещите да обяснят какъв е чара на node.js, очевидно не иде реч за спартнска реализация при малко ресурси.


Разпитай Хищника ако го хванеш на скайпа, иначе мога да ти кажа общи неа но тях ще ги намериш и сам. Удобно е за интерфейси, последно едно интефейсче към еидн контролер праивхме с него, контролера е на USB като HID, но няма значение, и на сериен става. Друго за което сме го изпозлвали са разни анимации в web, такива които трбява да са динамични, т.е. да се влияят от някакви данни, също става бързо и сранвително лесно.


Съб Мар 24, 2018 8:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 9635
Мнение Re: що е node.js и има ли то почва (у нас)
като говорите за графични интерфейси (предполагам нещо ала-GUI), това само през барузър ли е или ...?
нормалния JS е куц откум тредове и/или ползване на повече (локални) ядра. пък и мултитаскинга му е спънат.

примерчето с zip файла изглежда елегантно, но предполагам че гълта над гигабайт в твоя случай?

и в двата контекста все още ми се губи думичката 'node'...
по какво се различава от PHP+JS (+apache) с всичките им модули и плъгини?

Хищника и на пържоли не кълве, ти за node.js ме караш да го тормозя. зор нямам, просто имам бяло петно и питам.


Съб Мар 24, 2018 8:49 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4670
Мнение Re: що е node.js и има ли то почва (у нас)
зависи къде и как ще го ползваш... има почва - веб интерфейси, рест апита, там монгоДБ
за АРМ го компилирах както си е фул...
не ми хареса 40 меги( стрипнато стана 26 ) домързя ме да оптимизирам и да махам не нужното... зае.ахго за други времена

мисля да го полвам за рест апита... за ембедед е спорно да го полвам, лапа рам, тромаво...
ама знае ли се :)

_________________
main[-1u]={1};


Съб Мар 24, 2018 8:52 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4174
Местоположение: Brussels / Пловдив
Мнение Re: що е node.js и има ли то почва (у нас)
ДедоБоре написа:
като говорите за графични интерфейси (предполагам нещо ала-GUI), това само през барузър ли е или ...?

Става и за нейтив интерфейси - основните варианти са ReactNative & NativeScript (т'ва е българско, на Телерик) - идеята е, че пишеш логиката на JS но вместо да рендва HTML си ползва нейтив компоненти. Като бавнодействие е все едно пишеш GUI на python.
ДедоБоре написа:
нормалния JS е куц откум тредове и/или ползване на повече (локални) ядра. пък и мултитаскинга му е спънат.

Ще се учудиш колко задачи могат да се изпълнят много задачно в една нишка - особенно с добавянето на async/await синтаксиса е направо приказка. Разбира се всичко си има цена - ако не го знаеш как работи изодзадзе има да му се звериш като теле в зеле като нещи не работи както го очакваш ;)
ДедоБоре написа:
примерчето с zip файла изглежда елегантно, но предполагам че гълта над гигабайт в твоя случай?

Тц - нищо не гълта - тъпче си в стрийма когато му се опразнят буферите т.е. всичко е асинхронно - и TCP/IP стриймовете и файловия достъп - пуска си заявките и като някой от тях е готов го пуска по веригата на следващия. Имам и друг елегантен пример - как правя прокси към всяка малинка да и показвам кво има на камерата - пак е има няма 10-на реда код - получавам заявка, вадя от URL-a mac адрес на малинката щото това ми е всъщност primary key и от един голям хеш вадя вече конкретния IP адрес от който да взема някакъв файл през HTTP - на нея съм пуснал busybox httpd, че не съм я подкарвал с ноде - трябваше ми openmax за управление на камерите и реших да си го пиша сам на чисто C.
ДедоБоре написа:
и в двата контекста все още ми се губи думичката 'node'...
по какво се различава от PHP+JS (+apache) с всичките им модули и плъгини?

Пишеш на един език - не ти трябва да знаеш PHP с все инфраструктура около него. Да не говорим, че много от библиотеките работят както на браузъра така и на сървъра - абе приказка си е ...

_________________
Мразя да мразя ...


Съб Мар 24, 2018 11:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4174
Местоположение: Brussels / Пловдив
Мнение Re: що е node.js и има ли то почва (у нас)
TheWizard написа:
мисля да го полвам за рест апита... за ембедед е спорно да го полвам, лапа рам, тромаво...

На менн ми лапа някъде към 100-на мегабайта - в началото тръгва някъде към 30-40 но като го понатоваря като хората скача до към 100-130 - имах съмнения, че нещо GC ми прави въртели та го гледах малко със снайпера - сърбал съм попарата на GC едно време с .NET и съм много лют ... но се оказа, че сам съм си вкарал бъгче и като го оправих всичко си дойде на мястото. Ей това му е проблема на embedded платформа - трудничко се дебъгва самото node, но въпреки всичко плюсовете са повече от минусите.

Общо взето всяко устройство последно време трябва да има някакъв UI и web interface е доста добър избор. Все още много хора подскачат като им се изрепча, че пиша на JS & C - за момента е рядка комбинация обаче така ми се развързаха ръцете, че мога да правя почти всякакъв софтуер върху минимален хардуер - тежкото е после в браузъра където и гигахерци и гигабайти има колкото искаш.

Отделно, че в комбинация с buildroot успях да вкарам всичко в едно хранилище - целия фирмуер + юзер интерфейс + rest api и т.н. се пази на едно място и се компилира с един прост make който ти вади един sd card image - ръгаш го и тръгва.

_________________
Мразя да мразя ...


Съб Мар 24, 2018 11:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10355
Местоположение: Добрич
Мнение Re: що е node.js и има ли то почва (у нас)
Е за тва си трябва една семинарче с по-обстойно представяне ;-)


Нед Мар 25, 2018 3:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4174
Местоположение: Brussels / Пловдив
Мнение Re: що е node.js и има ли то почва (у нас)
2-5 април съм в Пловдив - който има мерак да се обажда :)

_________________
Мразя да мразя ...


Нед Мар 25, 2018 6:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Фев 13, 2013 2:35 pm
Мнения: 1748
Мнение Re: що е node.js и има ли то почва (у нас)
На Андроида може ло лесно да се пише-изпълнява?
-Като съм с таблета да си пробвам разни графични нещица? Нещо като ГИУ има ли?


Нед Мар 25, 2018 8:04 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4174
Местоположение: Brussels / Пловдив
Мнение Re: що е node.js и има ли то почва (у нас)
Андроид по принцип не е платформа за разработка, не че няма разни апп-ки дето горе долу позволяват да го ползваш като дев машина де ама все пак.

Иначе и с NativеScript и с React Native може да пишеш и за Андроид и за иОс - това са си нативни ГУИ-та - има и разни други които всъщност ти отварят браузър и всъщност гуи-то е хтмл - но е по бавно и тромаво и не е много за таблет/телефон.

Самия node.js няма проблем да върви на 1ГХц кортекс А нещо си - не е като на х86 ама пък не е и като да не става.

_________________
Мразя да мразя ...


Нед Мар 25, 2018 11:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: що е node.js и има ли то почва (у нас)
На андроид най-лесно тръгва през termux - а той дава и други благинки за линукс-ориентираните.
edit: като питаш за ГУИ сигурно ще ти хареса node-red и подобни


Вто Мар 27, 2018 3:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 12:22 pm
Мнения: 1947
Местоположение: София
Мнение Re: що е node.js и има ли то почва (у нас)
За UI ToHu има в предвид AngularJS.

Node.js е среда за писане с JS, има вградени модули за FS, IO, Networking и т.н. както при python, java и пр. Става и за Server, както и за Desktop приложения https://electronjs.org/. Не е заместител на PHP, за съжаление и за MCU не става. Много лесно можеш да напишеш C++ модул (щракане на LED), с който да си правиш нещо специално, ако го няма в хилядите готови модули.
Чарове много, основно, че се пише на JS и работи доста по-бързо от PHP в определени ситуации. Скрипта седи зареден през цялото време в memory, не както в PHP при всяка нова конекция нов процес/нишка, отваряне на връзка с SQL, инициализация на променливи и т.н. Много лесно се пишат приложения със sockets - TCP/UDP/WebSocket всичко опира до require() на модул.


Пон Яну 06, 2020 5:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4174
Местоположение: Brussels / Пловдив
Мнение Re: що е node.js и има ли то почва (у нас)
С React Native можеш да избегнеш electronjs т.е. да не влачиш почти целият Chromium браузър за десктоп апп. Има рендери за каквото ти душа сака - https://renative.org/ - или пък мултиплатформено с Qt - https://github.com/status-im/react-native-desktop

А иначе за nodejs за mcu има разни портове но един дявол ги знае дали стават за промишлена употреба:
https://www.espruino.com/
https://tessel.io/
https://jerryscript.net/
https://github.com/cesanta/mjs
https://bellard.org/quickjs/

_________________
Мразя да мразя ...


Пон Яну 06, 2020 10:48 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Вто Ное 01, 2005 9:23 am
Мнения: 704
Местоположение: Limerick, Ireland
Мнение Re: що е node.js и има ли то почва (у нас)
Страхотно е за сървърни приложения. Няма графична среда - това му е идеята - да изпълнява JavaScript код извън браузера. Върви обикновено на V8 JS Engine, но има и орязани версии за малки контролерчета, които честно казано са неизползваеми. При NodeJS функциите са non-blocking, което в частност е добре за мрежови приложения и много връзки...
Тук виждам малко объркване между Qt, NodeJS, ElectronJS и т.н.
Единствената прилика между NodeJS и ElectronJS е, че backend-a на ElectronJS е nodejs, което служи да си въртиш логиката, която по принцип не можеш да подкараш на браузер заради ограниченията поради сигурността. Frontend-a му е обикновен браузер..
По същия начин може да си стартираш браузер widget в Qt и да си пишеш на JavaScript, но това няма да е node. Не, че е невъзможно да ги покараш Qt с node, ама не виждам смисъл.
Иначе Qt е супер от гледна точка на бързина. За момента няма конкуренция, все пак си е Ц...

_________________
"640 К са достатъчни на всеки за всичко."
Бил Гейтс


Сря Яну 08, 2020 10:18 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 15 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни