Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
TideSDK - Razvoj desktop aplikacija sa HTML5/CSS3/JS/PHP/Rubby
#8
Ovaj TideSDK jeste dobar ali ovaj problem za curenjem memorije je bas izrazit.

Npr za svaki poziv PHP funkcije iz JS se "pojede" cca 70KB memorije koja se posle vracanja iz funkcije ne oslobodi i tako posle 100-1000 poziva cao, ode sva mamemorije i krashuje aplikacija Sad

Probao sam sve meni poznate fore da oslobodim memoriju ali nece, to je neki problem u samom framework.

Inace ovaj TideSDK se vec par godina ne azurira niti updejtuje, po komentarima korisnika ispade da je mrtav projekat Sad

------

Posto je situacija krajnje nezgodna sa ovim TideSDK (iako dobro osmisljeno) ja sam probao alternativno resenje koje ima finu aktivnost na projektu a i sama tehnika jos vise obecava, u pitanju je NodeJS + Node-Webkit

http://nodejs.org
https://github.com/rogerwang/node-webkit

Slicno kao TideSDK, sa ovim kompletom se mogu praviti desktop aplikacije u WEB okruzenju ali ovde imamo NodeJS koji radi sve sto treba. NodeJS je jako dobar i brz JavaScript frejmork koji je nadogradjen da moze da kuminicira sa OS (ne samo sa DOM HTML elemtima) sto nam daje mogucnost da radimo sve ono (tkz serverskoj strani) sto je moglo i sa PHP ili nekim drugim jezikom.

NodeJS je vrlo fino osmisljen (inace pisan u C/C++ i samom-sebi tj JavaScript = veoma brz) i jedna od glavnh prednosti je ta sto moze da radi u blocking ili non-blocking modu. To prakticno znaci, npr u blocking modu, kada pozovete neku akciju koja traje 1-2-3 sekunde (npr povlace se neki podaci sa Internet stranice), program ce stojati u tom mestu i cekati da se ta operacija zavrsi, ne moze nista drugo u medjuvremenu da se radi.
Kada se koristi non-blocking, za odredjene evente se definisu callback funkcije, "onData" ili "onComplete" i slicno, koji se trigeruju kada se taj event dogodi i nema stajanja "u mestu" izvrsavanja programa nego moze da se radi neka druga akcija a kada "stignu podaci" definisana callback funkcija se "okine". To se zove asinhrono izvsavanje programa (za blocking = sinhrono).
Dakle NodeJS je samo nadogradjen bazican JavaScript sa finim funkcijama za baratanje OS stvarima.

Node-webkit je dodatak na sve to koji dodaje kompletnu WEB podrsku u nasu aplikaciju. Browser engine koje se tu dodaje je baziran na Chromium (Windows-ov browser engine) a koji je nastao od Webkit engina (Safari za OS X).
U sustini to ne treba da vas nesto preterano tangira, bitno je da imate na raspolaganju kompletan browser sa svim standardnim stvarima koje se inace koriste na WEB-u.

PS: Video sam primere da direktno koriste NodeJS da programiraju kontrolere, u JavaScript pisu programe za MCU!!! Smile

NodeJS bas bas obecava, ima aktivan support, stalno se nesto na njemu radi i doraduje, ima svoj "npm" (Node Packet Manager) sa kojim se vrlo lako dodaju novi moduli iz njihovog repozitorijuma (ima na raspolaganju hiljade razlicitih modula).

Za sad jedini problematic koji sam video je nesto losija podrska za baratanje binarnim podacima, npr hocu da posaljem na seriski port karakter sa kodom 0xC1 sto u sustini nije ASCII karakter i onda mi on to pretvori u UTF-8 karakter (dva bajta) koji nisu to-to sto sam ja hteo. Mislim da je to vise moj problem nedovoljnog poznavanja ove platforme nego sto je realan problem, ali videcemo …

So far so good …
Reply


Messages In This Thread
RE: TideSDK - Razvoj desktop aplikacija sa HTML5/CSS3/JS/PHP/Rubby - by mikikg - 11-27-2014, 05:02 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)