FAQ |
Kalender |
2013-07-11, 14:30 | #1 | ||
|
|||
Medlem
|
Jag är mycket grön på detta område men jag skulle vilja sätta mig in i det efter jag hört massa personer säga att det är så bra och smidigt och revolutionerande och massa såna där "bra" saker. Men jag har inte hört något om vart man kan tillämpa det. Visst man kan göra en snygg chatt eller ett coolt spel men jag skulle vilja utveckla större projekt i det.
Men är det inte då enklare att bara göra det i ett vanligare programmeringsspråk typ som PHP eller Python? Eller är inte den här tekniken gjord för sånt? Är det bara gjord för typ spel och interaktiva saker? |
||
Svara med citat |
2013-07-11, 14:44 | #2 | ||
|
|||
Supermoderator
|
Det är lätt att göra något liknande i PHP eller andra programmeringsspråk men däremot så får du snabbt problem att skala realtids-applikationer av olika slag. Det är främst där node.js är användbart. Här är en bra artikel att läsa:
http://mashable.com/2011/03/09/node-js/
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2013-07-11, 16:57 | #3 | |||
|
||||
Medlem
|
node.js är väl även känt för att smidigt sätt kunna behandla data (nu pratar jag inte om olika variabeltyper osv) - eller har jag fel här?
|
|||
Svara med citat |
2013-07-11, 22:12 | #4 | |||
|
||||
Mycket flitig postare
|
http://ask.slashdot.org/story/13/07/...the-enterprise kanske kan vara relevant
|
|||
Svara med citat |
2013-07-12, 10:27 | #5 | |||
|
||||
Klarade millennium-buggen
|
Websockets är utmärkt för att göra multiplatform-client-server-applikationer där klienterna slipper polla servern efter svar på t.ex. en förfrågan. Några exempel på webbaserade applikationer som inte är simpla chattar och som jag har varit med att utveckla helt eller delvis: passerkortssystem, ärendehanteringssystem, långtidsarkiv (elektroniska dokument).
EDIT: Största fördelen är att datatrafiken minskar till ett minimum och att det sker exakt när det finns tillgängligt utan fördröjning. Bara det data som behövs skickas (= inga omladdningar av hela webbsidor osv.) |
|||
Svara med citat |
2013-07-12, 12:01 | #6 | ||
|
|||
Flitig postare
|
En WS-server kan byggas i princip alla språk som har stöd för trådar, då exkluderat PHP. Node har dock fördelen att köras på V8-motorn, som gör minnesanvändningen till ungefär 60% av samma implementerning i te.x Ruby.
|
||
Svara med citat |
2013-07-17, 09:07 | #7 | ||
|
|||
Medlem
|
Så om NodeJS har stöd för multithreading så kan man köra en process i bakgrunden i en annan thread sen kör alla klienterns polling i andra threads? Än så länge så ser övergången till NodeJS lite suddig ut för mig.
|
||
Svara med citat |
2013-07-22, 08:56 | #8 | ||
|
|||
Administratör
|
Fördelen är att det är väldigt lätt att använda event-baserad programmering med node.js vilket gör den till ett väldigt lämpligt val för websockets apps. Du har en applikationsloop och det är lätt att lägga allt det tunga bearbetandet (disk IO, externa anrop, push till klienten) asynkront.
Event-baserade (i motsats till trådbaserade) lösningar gör allt som oftast jobbet effektivare när du har många anslutna klienter men framförallt gör det utvecklarens situation desto mindre komplicerad (och komplexitet är största hotet mot snabb utvecklingstakt). Lite mer om event-loopen och node.js: http://blog.mixu.net/2011/02/01/unde...js-event-loop/ Vill du hellre utforska websockets kan du skriva en implementation i vilket språk som helst, inklusive PHP. Det gör inte att språken är lämpliga för det ... Den enda stora nackdelen eller specialfallet med node.js när du ska skala är att en applikationsprocess bara använder en core och när du vill använda fler cores startar du fler processer och måste på något sätt se till att kommunikationen mellan processerna sker smärtfritt (dock ej alltid man ens behöver någon kommunikation där).
__________________
eldefors.com - Personlig (teknik)-blogg |
||
Svara med citat |
Svara |
|
|