Amennyit WCF levesz a válladról (szigorúan TCP oldalon, az persze óriási előny, hogy ott váltogathatod a protokollokat), annyit nem nagy meló megírni alacsonyabb szinten. Vannak játékstílusok ahol a HTTP szóba se jöhet az adatterhelés miatt.
Smartfoxot nem ismerem. Most ránéztem, de nem igazán jött át mik az ütős fícsörjei. A referencia impresszív, de Flash programozók azért alapból jobban rá vannak utalva, hogy kész szervert használjanak.
Én szeretem, hogy szerveren alapból tudom futtatni a játék libemet is, csak a forrásfájlokat kell kereszt linkelni (ezt gyak. automatikusan meglehet oldani). Egy WPF app lényegében mindent értelmezni tud amit Silverlight, néhány nagyon specifikus cucc kivételével, amik pár preprocessor directiveal kivehetőek.
.NET -ben természetesen lehet TCP szervert írni (meg több más low level protokollt is támogat)
Ez nem kétséges, csak kérdés, hogy megéri-e.
Én inkább megvenném pl a smartfoxservert 2000 euróért, mintsem több hónapon keresztül kifejlesszek valami olyasmit, ami mükszik, de nincs szana szét tesztelve/optimalizálva, és vszeg elsőre nem is lesz annyira általános... És akkor olyan apróságokról nem is beszélve, hogy jó lenne támogatni azt is, ha valaki tcp-n nem tud kapcsolódni, akkor valami HTTP tunnelling szerű megoldást kitalálni, admin felületet a szerverhez, pl hogy ki lehessen rugni valakit, stb...
.NET -ben természetesen lehet TCP szervert írni (meg több más low level protokollt is támogat), sztem WCF is olyan libekre van ráhúzva, amiket szabadon használhatsz külön (nemtom, nem ismerem mélyebben WCF-et, mikor kezdtem nem volt támogatva, és egyelőre nem éreztem, hogy előny lenne rá portolni a kódot).
Pont ilyen eloszlásban reménykedem én is, hogy azok akik valóban játszani akarnak, esetleg valami nívósabb darabbal akkor hajlandóak letölteni/már megvan az SL.
Mindenesetre szerintem kipróbálom, hogy lefejlesztek valami egyszerűbbet aztán feldobom pár helyre. Remélhetőleg van benne jövő(m) :)
Szerintetek konkrétan játék fejlesztésre, mennyivel hatékonyabb a Flash?(ha az) SL-ben megvan minden szükséges elem hozzá?
Attól függ milyen játékot akarsz készíteni, sok szempont érdekes lehet. Pl. sima singleplayer típusú játék esetén talán mindegy melyik platformot választod, viszont ha szervízzel kell kommunikálni, már kicsit töprengősebb a dolog.
Ugye sl előnye, hogy a szerveroldalt is c#-ban tudod kódolni, de a standard wcf service-ek használata főleg a sima kérés válasz típusú kommunikációra vannak kihegyezve. Tudom, lehet használni duplex service-t, de eddig még nem láttam/tapasztaltam olyan demónál többet, ahol bemutatják ezt. (Érdekesség, hogy ha jól emlékszem alapból max 10 kliens van engededélyezve, bár ez állítható, de mért csak 10???)
Persze lehet saját játékszervert írni, vagy használni "kész", kiforottabb (pl. smartfoxserver) elterjedtebb terméket erre, csak akkor vszeg bukik a c# mindkét oldalon elv. (nem tudom, létezik-e valamilyen .net-es játékszerver)
Szerintetek konkrétan játék fejlesztésre, mennyivel hatékonyabb a Flash?(ha az) SL-ben megvan minden szükséges elem hozzá?
Mennyi potenciális felhasználót(játékost) lehet azzal veszíteni, hogy a program SL-ben fut? Ezt úgy kérdezem, hogy jó-jó a statisztika magáért beszél, de hány embert akadályoz meg az, hogy le kell szedni valami újat?
Hungarian Unix Portal. (A rövidítést csak tippelem) Szóval természetes, hogy nem látják szívesen az mses dolgokat.
Nem is mondtam hogy a szubjektivitásuk nem jogos (nem rejtik véka alá, jól tippelted a rövidítést), csak azt mondtam, hogy -közösségi szinten- kevésbé objektívek a prog.hu -nál.
Persze, azért egyetértek, de ha megnézed akkor az egyik PC Forum, a másik meg Hungarian Unix Portal. (A rövidítést csak tippelem) Szóval természetes, hogy nem látják szívesen az mses dolgokat.
ON:
Nekem bejön a silverlight, gyorsan lehet benne fejleszteni és szépet, remélem elterjed.
A telepítés nehézségei:
Anyám aki egyáltalán nem ért a gépekhez, szerette volna megnézni az egyik MS által szponzorált, talán Budapestről készült panorámaképet. Ehhez silverlight kellett. Magam sem hittem el, de mondta, hogy oda le volt írva, hogy kell és megcsinálta magának.
Nem ismerek objektív "szakportált", de a hup.hu jóval kevésbé objektív a prog.hu-nál. Úgy az egész közösség amblokk.
Próbálj meg ott indítani egy kifejezetten Microsoft technológiával foglalkozó threadet, meg itt egy Linuxost és hasonlítsd össze őket.
Nem volt hangulatom kideriteni, hogy ez kompiler hiba, vagy a nyelv szabalyai szerint helyes...
Teljesen szabályosan működött :) Ha nagyon érdekel, majd leírom miért.
Egyébként pedig valóban van hova fejlődnie a Flash Buildernek, de már jócskán a használható kategóriába tartozik. A refactoringon javítottak valamennyit a 4-esben a 3-ashoz képest.
A kompilere rohadtlassu es nemigen tud inkrementalisan forditani.
Pedig tud, ki-be kapcsolható - de persze bizonyára lehetne javítani rajta, mint általában mindenen.
Flahs builder meg egy eclipse plugin, szóval én azt mondanám, hogy egyenrangú a két eszköz ;)
A Java-s eclipseben az a sok fasza feature a JDT pluginbol szarmazik, nem az alap IDE-bol, Flash builder ahhoz kepest lepkefing.
Refactoring tamogatas egy bugos "rename all occurences"-ben merul ki. A kompilere rohadtlassu es nemigen tud inkrementalisan forditani. Nagyon kellemes tud lenni, amikor egy nagyobb projektben ahhoz, hogy kiprobalhass egy par karakteres modositast, varnod kell 5-10 percet amig ujraforditja az egeszet!
Hat meg amikor par ora torkosborzozas utan rajossz, hogy a debuggere hibas adatokat mutat, ezert komolyabb debuggolaskor inkabb trace()-el javasolt kiiratnod a valtozok erteket!
Meg az eksonszkript 3.0. Valami hasonloba botlottam amikor tanultam a nyelvet:
public function foo():void
{
ojjektum.metodus(); // <-- itt jelzi nekem, hogy ojjektum null
if (valami)
{
var ojjektum:Ojjektum = ... // <-- ha ezt kikommentezem, fennt jelzi, hogy "ojjektum" nincs deklaralva
}
}
Nem volt hangulatom kideriteni, hogy ez kompiler hiba, vagy a nyelv szabalyai szerint helyes...
Huh, hát valamikor megnézem ígérem, még nem tudom mikor.
Addigra összeszedem azt is ami miatt szerintem WPF kevésbé magától értetődő alapból mint WinForms, pl. a Dependency Propertyk öröklődése miatt is voltam WTF az elején...
Flash-t és Blendet egyaránt használó ismerőseim szerint a Blend produktivitásban verhetetlen.
Egyszerűbb appokra is?
Mi számít egyszerűnek? Írj egy példát, oszt megpróbálok mondani rá valamit... - még egyszer, a Flash-t nem ismerem, nem tudok nyilatkozni, hogy mi produktívabb / egyszerűbb az egyikben vagy a másikban.
Van itt egy előadásom, ami meggyőzőtt pár Flash-es kollégát. DevPortal TV . Nagyon sajnálom, regisztrálni kell a nézéshez, ez nem az én döntésem...
Ha megvan, a Silverlight dizájner szemmel című előadást ajánlom figyelmedbe. (keress rá arra a videó alatt, hogy "szemmel"). Szerintem ez elég jól megmutatja, hogy milyen érzés Silverlight projekten dizájnernek lenni.
Én úgy érzem a WPF inkább arra jó, hogy sok munkával nagyon flexibilis UIt csinálj, de ha egyszerű statikus UIt akarsz ahhoz több munka kell benne mint Flashben vagy WinFormsban.
Ez azért nem igaz, mert a WPF-nek (Silverlight-nak) nagyon fejlett adatkötése van, ami még szürke gombos appoknál is rengeteg időt és kódolást megspórol (Winformshoz hasonlítok, Flash-t továbbra sem ismerem). Megintcsak a fenti videót tudom ajánlani ismerkedésnek.
BTW, nem tudom mennyire kaptatok rá az SL-re, de szerintem egy év kevés a WPF alapjainak jó kiismeréséhez, ahhoz hogy saját kontrollokat csináljatok. Én legalábbis egy év után még sűrűn csapkodtam a fejemre, hogy ezt jobban is meglehetett volna tervezni.
Szóval ha SL-ben vágtok bele, én maradnék a default controloknál és azokat templateelném, nem mennék bele a mélyvízbe, ha egy éven belül kész produktum kell.
Ok-ok, ezzel tisztában vagyok, természetesen sokat hallottam Flexről, konkrétan ki nem próbáltam, de szerintem egy fejlesztői környezet/programozási nyelv nem egy olyan dolog amit akár néhány hónap alatt kilehetne úgy ismerni hogy egyértelműen megmondd melyik jobb.
Ezért igyekeztem kerülni a konkrétumokat és a "Big Picture" alapján ítélni.
Flash-t és Blendet egyaránt használó ismerőseim szerint a Blend produktivitásban verhetetlen.
Egyszerűbb appokra is?
Én úgy érzem a WPF inkább arra jó, hogy sok munkával nagyon flexibilis UIt csinálj, de ha egyszerű statikus UIt akarsz ahhoz több munka kell benne mint Flashben vagy WinFormsban.
Szerintem azért jópár dolog a robusztusság miatt kevésbé magától értetődő mint pl. WinFormsban volt.
Igazából használnom kellett egy kicsit a Flash Profot 2 éve, és számomra sokkal magától értetődőbb volt a felhasználói felülete, Blendben tovább tartott a betanulás, de most, hogy utána gondoltam, lehet részben attól volt, hogy sok Adobe designer cuccot használtam (+ Flash 5-ben anno eléggé elmélyedtem).
Flash Buildert próbáltad már? :)
Hamarabb összerakok egy normális formot benne, mintha bepötyögném a xaml-t.
XAML-t nem pötyögünk, hanem Blend-el készítjük. Flash-t és Blendet egyaránt használó ismerőseim szerint a Blend produktivitásban verhetetlen. (Én nem vagyok ilyen, nem ismerem fejlesztőként a Flash-t). Vedd mellé a C#-ot és a .NET keretrendszert, és elég jól áll a Silverlight a fejlesztők / designerek szemével nézve.
Igazából még Flash5 idején Flasheltem komolyabban, aztán volt pár kötelező köröm vele cirka 2 éve, ezek alapján a fejlesztői környezet közt a különbség ég és föld.
A Flash 5 még egy egészen másik világ volt Az MS és Adobe fejlesztőeszközök nem feleltethetők meg egy az egyben egymásnak, az Adobe többféle fejlesztőeszközt is kínál más-más célcsoportnak:
Flash Professional: inkább grafika és animációorientált Flash alkalmazásokhoz, rajz- és animációs eszközök vannak benne, a programozók nincsenek túl jól kiszolgálva (tkp. szinte sehogy, fapad van), a kódírás kényelmetlen, inkább grafikusok/designerek a célközönség, akik némi programozási ismerettel is rendelkeznek, s kisebb lélegzetű programokat készítenek.
Flash Builder: kb. ez felelne meg a Visual Studionak és inkább a programozókat célozza meg. Ez egy Eclipse alapú fejlesztőkörnyezet űrlapszerkesztővel, rendes kódeditorral (kódkiegészítés, hinting, stb.), debuggerrel, profilerrel, plusz az egész fejlesztés egy sokkal komplexebb osztálykönyvtárra épül (Flex framework).
Flash Catalyst: ez a Flash Builderrel dolgozik össze, a designertől érkező grafikákat lehet vele gyorsan kezelőfelületté összerakni úgy, hogy egyből mehet be mögé a kód.
Belenéztem, de nem tudom tolerálni a video tutorialokat ilyen mélységben, max akkor ha valami konkrét feladatom van és néhány percben megmutatják hogy kell megoldani.
Ha valamit tanulok jobban szeretek a saját tempómban haladni.
Szerintem adnak hatékony HTML5 támogatást Windowson, hogy ennél maradjon a nép és legyen (többek közt) SL bázis is.
Szvsz felismerték (valószínűleg abból is, hogy mennyire drága SL-t így Macre Windowsra meg telókra keresztfejleszteni), hogy nem tudják olyan hatékonyan fejleszteni SL-t, ha tényleg mindenhol használhatóva akarják tenni (linuxon pl. eléggé lemaradt...). Megmaradnak a kevesebb platformon mélyebb funkciók elvénél.
Nekem kb. ez jött le.
Szerk: Flasht szimplán webes animációkra tervezték.
De a flexet, flash buildert már nem...
Nem, sőt Adobe nem volt rest alapoktól újratervezni az action scriptet sem, sokat tett érte hogy Flashnek másban is legyen létjogosultsága és lett is, de ezen a téren azért óriási előnye van ms-nek szvsz (pl. csak többszálú programozást még mindig nem tudott Adobe berakni flashbe, pedig jó ideje requestelik).
Mindegy, ebben a vitában nem tudok sokáig menni mély tapasztalat hiánya miatt, szóval valszeg nem fogom tudni felvenni a kesztyűt, ha tovább mész
Ahogy utána olvastam pár percben hup-os cikktől elrugaszkodva, azt vettem észre, hogy eléggé felkavarta a vizet és sok helyen csak egyszerűen RIP-nek nyilvánították. Mint írtam régóta küzdött az MS-on belül is az sl a html5-tel, ha a második lett a nyertes, engem zavar. A fejlesztőkkel mégiscsak el kellett 'hitetni', hogy ebbe sok energiát fektetnek majd a támogatásban, azért hogy elkezdjék használni, erre egy részét(pl.:cross platform) átadják egy másik technológiának . Semmiképp sem gondolom, hogy ez jó hatással van az SL elterjedésére, mind a programozók mind a fogyasztók terén.