Виж темите без отговор | Виж активните теми
Дата и час: Чет Апр 25, 2024 7:22 pm
|
Страница 1 от 1
|
[ 15 мнения ] |
|
що е node.js и има ли то почва (у нас)
Автор |
Съобщение |
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 10:31 pm Мнения: 9646
|
що е node.js и има ли то почва (у нас)
в няколко теми споменавате node.js в различни контексти, в темата за малинката, примерно, върви и въпроса за ползването на минималистичен хардуер (ланукс с 256? RAM)
понеже ми стана интересено и имам бели петна около въпросното нещо, поразгледах набързо за какво иде реч. честно казано, очаквах, че думичката 'node' наистина означава едно малко спретнато интерпретаторче на JS, което да може да се подкара едва ли не и на по-голям пикльо. обаче май нещата не са баш така, или пък понятието 'node' е по-грандоманско.
може ли знаещите да обяснят какъв е чара на node.js, очевидно не иде реч за спартнска реализация при малко ресурси.
|
Съб Мар 24, 2018 9:23 am |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4197 Местоположение: Brussels / Пловдив
|
Re: що е node.js и има ли то почва (у нас)
Преди 10-на години бях отвратен от M$ и започнах да се оглеждам за дългосрочна алтернатива на .NET за писане на софтуер. Изискванията ми бяха: - да може да го търкалям на всякаква платформа а не само на виндовс
- да може да се ползва за веб интерфейс, десктоп интерфейс, мобилни апп
- да е опън сорс
- да има голямо комюнити, инструментариум и т.н. полезни неща
- да скалира от ембедед машина до облак
И тъй като по това време ми беше айляк реших да отделя повечке време за ресърч и след може би повече от година оглеждане и експериментиране се очертаха само 2 технологии които ставаха: 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 файла добавих: И готово - сега който иска да си сваля данните с каквото му е кеф - browser, wget, curl, etc ... та ако трябваше това да го разпиша на .нет или qt или каквото и да е друго - щеше да ми коства сигурно дни и сумати изписан код. И това нещо не генерира никакви локални zip файлове на сървъра. И така мантрата ми е - C за performance (без ++)
- node.js за всичко останало
_________________ Мразя да мразя ...
|
Съб Мар 24, 2018 9:59 am |
|
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 8:21 pm Мнения: 28026 Местоположение: София
|
Re: що е node.js и има ли то почва (у нас)
Разпитай Хищника ако го хванеш на скайпа, иначе мога да ти кажа общи неа но тях ще ги намериш и сам. Удобно е за интерфейси, последно едно интефейсче към еидн контролер праивхме с него, контролера е на USB като HID, но няма значение, и на сериен става. Друго за което сме го изпозлвали са разни анимации в web, такива които трбява да са динамични, т.е. да се влияят от някакви данни, също става бързо и сранвително лесно.
|
Съб Мар 24, 2018 8:11 pm |
|
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 10:31 pm Мнения: 9646
|
Re: що е node.js и има ли то почва (у нас)
като говорите за графични интерфейси (предполагам нещо ала-GUI), това само през барузър ли е или ...? нормалния JS е куц откум тредове и/или ползване на повече (локални) ядра. пък и мултитаскинга му е спънат.
примерчето с zip файла изглежда елегантно, но предполагам че гълта над гигабайт в твоя случай?
и в двата контекста все още ми се губи думичката 'node'... по какво се различава от PHP+JS (+apache) с всичките им модули и плъгини?
Хищника и на пържоли не кълве, ти за node.js ме караш да го тормозя. зор нямам, просто имам бяло петно и питам.
|
Съб Мар 24, 2018 8:49 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4723
|
Re: що е node.js и има ли то почва (у нас)
зависи къде и как ще го ползваш... има почва - веб интерфейси, рест апита, там монгоДБ за АРМ го компилирах както си е фул... не ми хареса 40 меги( стрипнато стана 26 ) домързя ме да оптимизирам и да махам не нужното... зае.ахго за други времена мисля да го полвам за рест апита... за ембедед е спорно да го полвам, лапа рам, тромаво... ама знае ли се
_________________ main[-1u]={1};
|
Съб Мар 24, 2018 8:52 pm |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4197 Местоположение: Brussels / Пловдив
|
Re: що е node.js и има ли то почва (у нас)
Става и за нейтив интерфейси - основните варианти са ReactNative & NativeScript (т'ва е българско, на Телерик) - идеята е, че пишеш логиката на JS но вместо да рендва HTML си ползва нейтив компоненти. Като бавнодействие е все едно пишеш GUI на python. Ще се учудиш колко задачи могат да се изпълнят много задачно в една нишка - особенно с добавянето на async/await синтаксиса е направо приказка. Разбира се всичко си има цена - ако не го знаеш как работи изодзадзе има да му се звериш като теле в зеле като нещи не работи както го очакваш Тц - нищо не гълта - тъпче си в стрийма когато му се опразнят буферите т.е. всичко е асинхронно - и TCP/IP стриймовете и файловия достъп - пуска си заявките и като някой от тях е готов го пуска по веригата на следващия. Имам и друг елегантен пример - как правя прокси към всяка малинка да и показвам кво има на камерата - пак е има няма 10-на реда код - получавам заявка, вадя от URL-a mac адрес на малинката щото това ми е всъщност primary key и от един голям хеш вадя вече конкретния IP адрес от който да взема някакъв файл през HTTP - на нея съм пуснал busybox httpd, че не съм я подкарвал с ноде - трябваше ми openmax за управление на камерите и реших да си го пиша сам на чисто C. Пишеш на един език - не ти трябва да знаеш PHP с все инфраструктура около него. Да не говорим, че много от библиотеките работят както на браузъра така и на сървъра - абе приказка си е ...
_________________ Мразя да мразя ...
|
Съб Мар 24, 2018 11:34 pm |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4197 Местоположение: Brussels / Пловдив
|
Re: що е node.js и има ли то почва (у нас)
На менн ми лапа някъде към 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 |
|
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 5:52 pm Мнения: 10376 Местоположение: Добрич
|
Re: що е node.js и има ли то почва (у нас)
Е за тва си трябва една семинарче с по-обстойно представяне
|
Нед Мар 25, 2018 3:06 pm |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4197 Местоположение: Brussels / Пловдив
|
Re: що е node.js и има ли то почва (у нас)
2-5 април съм в Пловдив - който има мерак да се обажда
_________________ Мразя да мразя ...
|
Нед Мар 25, 2018 6:51 pm |
|
|
bobihot
Ранг: Форумен бог
Регистриран на: Сря Фев 13, 2013 2:35 pm Мнения: 1748
|
Re: що е node.js и има ли то почва (у нас)
На Андроида може ло лесно да се пише-изпълнява? -Като съм с таблета да си пробвам разни графични нещица? Нещо като ГИУ има ли?
|
Нед Мар 25, 2018 8:04 pm |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4197 Местоположение: Brussels / Пловдив
|
Re: що е node.js и има ли то почва (у нас)
Андроид по принцип не е платформа за разработка, не че няма разни апп-ки дето горе долу позволяват да го ползваш като дев машина де ама все пак.
Иначе и с NativеScript и с React Native може да пишеш и за Андроид и за иОс - това са си нативни ГУИ-та - има и разни други които всъщност ти отварят браузър и всъщност гуи-то е хтмл - но е по бавно и тромаво и не е много за таблет/телефон.
Самия node.js няма проблем да върви на 1ГХц кортекс А нещо си - не е като на х86 ама пък не е и като да не става.
_________________ Мразя да мразя ...
|
Нед Мар 25, 2018 11:15 pm |
|
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 12:59 pm Мнения: 3855 Местоположение: Габрово
|
Re: що е node.js и има ли то почва (у нас)
На андроид най-лесно тръгва през termux - а той дава и други благинки за линукс-ориентираните. edit: като питаш за ГУИ сигурно ще ти хареса node-red и подобни
|
Вто Мар 27, 2018 3:27 pm |
|
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 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 |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4197 Местоположение: 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/mjshttps://bellard.org/quickjs/
_________________ Мразя да мразя ...
|
Пон Яну 06, 2020 10:48 pm |
|
|
nickich
Ранг: Почетен член
Регистриран на: Вто Ное 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 |
|
|
|
Страница 1 от 1
|
[ 15 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|