Webes felületet kéne csinálni, mi a trend 2013-ban?
Van egy rendszer, az app maga serveren fut, ennek kellene UI-t csinálni. Nem egy kirívó eset. Az már látszik, hogy egy webes felület lenne a legjobb, mert akkor csak egyszer kellene lefejleszteni, egyszerű az upgrade stb. stb., de azért ez ennyire nem egyszerű. Kérdéseim a hajtás után.
Bemelegítésnek először a könnyen megválaszolható kérdéseket teszem fel, aztán az egyre nehezebbeket:
1. Milyen böngészőket támogassunk? A Windows XP-hez, ami még elterjedt operációs rendszer, MSIE6-ot adtak. Viszont az szar, mert semmi nem úgy van rajta, ahogy kéne. Mondhatjuk azt az MSIE6 felhasználóknak, hogy töltsön le valami értelmes browsert?
2. A későbbi MSIE verziókról se tudok sokkal kedvesebben nyilatkozni. Mondhatom, hogy Firefox/Chrome/Safari kell? Nem fog ez gondot okozni "konzervatív vállalati környezet" esetén, ahol senki semmit nem installhat, és az IT-n baromi nehéz átverni bármit is?
Olyan UI-t akarok, ahol a kép méretéhez illeszkednek az UI elemek, mondjuk telefonon a lista elfoglalja a teljes képernyőt, az itemre tappolva jön fel a details, ugyanez desktopon egyszerre látszik, bal oldalt az item lista, és amelyikre rábökök, annak a details-e kerül jobb oldalra. Tabletet elforgatom, és átrendeződnek a panelek, mindig kitöltik a teret. Responsive design magyarul.
3. A jegyzőkönyv kedvéért felsorolom azokat a technológiákat, amelyek nem mindenhol elérhetők, ezért fájó szívvel, de hanyagolni kell őket: Flash (ennek a hanyagolása azért annyira nem zavar), WebGL, SVG.
4. A megjelenés módját pixel felbontásra csekkolni nem elég, mert ezeken az újabb csodatelefonokon kis felületen rengeteg pixel van (Retina pl.). Honnan lehet megtudni a képernyő fizikai méretét? Vagy DPI-t? vagy bármit? Samsung Galaxy S4-en és iPhone5-ön a mobiltelefonos verziót szeretném látni, nem pedig a desktopos/tableteset miniatűrben.
5. És hát a végső kérdés az, hogy melyek azok a framework-ök, megoldások, amelyekkel egy ilyen responsive app-nak érdemes nekiugrani? Nem szeretnék 3-4 appot lefejleszteni (telefon, tablet, desktop), hanem valahogy úgy akarom organizálni a paneleket, hogy a lehető legkevesebbet kelljen a képernyőméret különbözőségével törődnöm. Nem kell pixelpontos design, hiszen egy app lesz csak, nem website.
Ritkán kérdezek, de akkor izmosat. Persze már kerestem válaszokat, de még nem vagyok teljesen elégedett azzal, amire magamtól jutottam. Ha esetleg a sorba illeszthető kérdés van, mert megfeledkeztem valamiről, az is jöhet.
■ Bemelegítésnek először a könnyen megválaszolható kérdéseket teszem fel, aztán az egyre nehezebbeket:
1. Milyen böngészőket támogassunk? A Windows XP-hez, ami még elterjedt operációs rendszer, MSIE6-ot adtak. Viszont az szar, mert semmi nem úgy van rajta, ahogy kéne. Mondhatjuk azt az MSIE6 felhasználóknak, hogy töltsön le valami értelmes browsert?
2. A későbbi MSIE verziókról se tudok sokkal kedvesebben nyilatkozni. Mondhatom, hogy Firefox/Chrome/Safari kell? Nem fog ez gondot okozni "konzervatív vállalati környezet" esetén, ahol senki semmit nem installhat, és az IT-n baromi nehéz átverni bármit is?
Olyan UI-t akarok, ahol a kép méretéhez illeszkednek az UI elemek, mondjuk telefonon a lista elfoglalja a teljes képernyőt, az itemre tappolva jön fel a details, ugyanez desktopon egyszerre látszik, bal oldalt az item lista, és amelyikre rábökök, annak a details-e kerül jobb oldalra. Tabletet elforgatom, és átrendeződnek a panelek, mindig kitöltik a teret. Responsive design magyarul.
3. A jegyzőkönyv kedvéért felsorolom azokat a technológiákat, amelyek nem mindenhol elérhetők, ezért fájó szívvel, de hanyagolni kell őket: Flash (ennek a hanyagolása azért annyira nem zavar), WebGL, SVG.
4. A megjelenés módját pixel felbontásra csekkolni nem elég, mert ezeken az újabb csodatelefonokon kis felületen rengeteg pixel van (Retina pl.). Honnan lehet megtudni a képernyő fizikai méretét? Vagy DPI-t? vagy bármit? Samsung Galaxy S4-en és iPhone5-ön a mobiltelefonos verziót szeretném látni, nem pedig a desktopos/tableteset miniatűrben.
5. És hát a végső kérdés az, hogy melyek azok a framework-ök, megoldások, amelyekkel egy ilyen responsive app-nak érdemes nekiugrani? Nem szeretnék 3-4 appot lefejleszteni (telefon, tablet, desktop), hanem valahogy úgy akarom organizálni a paneleket, hogy a lehető legkevesebbet kelljen a képernyőméret különbözőségével törődnöm. Nem kell pixelpontos design, hiszen egy app lesz csak, nem website.
Ritkán kérdezek, de akkor izmosat. Persze már kerestem válaszokat, de még nem vagyok teljesen elégedett azzal, amire magamtól jutottam. Ha esetleg a sorba illeszthető kérdés van, mert megfeledkeztem valamiről, az is jöhet.
Nem mindenre
1-2. XP-hez IE8-at, nem olyan szar az. Mindjárt mentesülsz is attól, hogy vmit árnyékolnod, kerekítened kelljen, és ha kell valami wysiwyg szerkesztőt is beépítened, a régebbiek ezen futnak, IE9-10-en kevésbé. És kevesebbet kell nyűglődnie a rendszergizdának az upgrade-del. Szerintem ne forgass semmit, hagyd a Júzerre, mit akar. Esetleg sütibe tárolgasd a beállításait, hogy amikor újra jön, ugyanazt kapja.
3. Ez nem is kérdés.
4-5. Jól gondolod, ajánlom figyelmedbe, indulásnak jó, de muszáj leszel szerintem 2-3 frontendet csinálni. Fontos, hogy engedd választani a Júzert a különböző variációk közül, ne akarj mindenképp erőltetni dolgokat. Ha ki akarja próbálni Opera Mini-n (:)) az asztali nézetet, hát tegye! Ezen kívül én nem ismerek 100%-os megoldást eszközfelismerésre, és ne felejtsd el, hogy újabb és újabb eszközök jönnek ki.
Responsive dizájn témakörben
Ha úgy döntenél, a régi
1. Milyen böngészőket
Az attól függ, hogy milyen felhasználók köre. A másik, amitől függ, hogy milyen a technikai megoldása a dolognak. CORS csak IE10-től támogatott, és kényelmesebb azt használni, mint jnsonp-t. Belső céges alkalmazásnál nyugodtan mondhatsz bármit, mert néhány emberről van szó, akik tudnak alkalmazkodni a körülményekhez. Ha webre megy, ott már problémásabb a helyzet. IE 6-8 támogatása nehézkesebb, de vannak erre jól bevált lib-ek, amik segítenek. Pl html5 shiv, css3 pie, meg hasonlók. Én nem használtam ezeket, nem szívesen állnék neki IE9-nél alacsonyabb verzió támogatásának. Szerintem nem tudják megfizetni.
Az IE9 körülbelül annyit tud, mint egy firefox, egyedül a CORS nem támogatott, de már követi nagyjából a szabványt. Az a gond, hogy XP-n IE8 a maximum, amit lehet, szóval ott muszáj feltenni egy firefox-ot vagy chrome-ot, vagy támogatni kell IE8-at, de akkor meg már a többi alacsonyabb verziót is lehet, mert egyformán silányak.
Úgy, hogy rákeresel: http://stackoverflow.com/questions/476815/can-you-access-screen-displays-dpi-settings-in-a-javascript-function
Ha van rá keret, akkor vegyél extjs-t. Ha nincs, akkor van rengeteg ingyenes megoldás. Az a közös bennük, hogy közel sem olyan átfogóak, inkább alapkoncepciót adnak, az UI komponenseket meg sok esetben neked kell megírnod kézzel. Én backbone-t használok, de kénytelen voltam hozzáírni validatort meg ui komponenseket is, mert nem voltam megelégedve azokkal, amik adottak voltak. Írtam egy browser detect-et is, ami browsehappy toolbar-hoz hasonló valamit tesz ki. Van még a requirejs, amit érdemes használni. Szóval nálam ilyen a lista jelenleg:
Ehhez szerver oldalról JSON REST service szolgáltatja az adatot egy másik domain-ről, szóval CORS-t használ. Van még ezen kívül egy rakat másik MVC rendszer javascripthez, nézd meg, hogy neked melyik tetszik, aztán használd azt. Általában sablon html-eket használnak, ami nekem nem jön be, azért ragadtam le ennél a backbone.UI-s megoldásnál. Elvileg r.js-el szépen egybe lehet csomagolni a külső libeket, amiket betöltesz, de nem vagyok benne biztos, hogy szükség lesz rá. Amíg fejlesztek, addig nocache van a kliensek, utána felteszem a cache-t, és csak a REST service-en lesz nocache. Maga a kliens kizárólag statikus fájlokból áll szerver szempontjából, ami elég keményen csökkenteni fogja a betöltési idejét... Ezekkel a megoldásokkal max úgy tudnád megtámogatni IE9-et, az alacsonyabb verziókat, meg minden mást, hogy írsz egy szerver oldali klienst nekik a rest service-hez, ami egy hagyományos html oldalt ad. Körülbelül mint a gmail-nél van. Nyilván ez lassabb és körülményesebb lenne, de megoldható vele a dolgok nagy része. Nekem is 3 kliensem lesz attól függően, hogy kiknek szól. Ebből az egyik lesz kliens oldali, egy másik szerver oldali a harmadikat meg még nem döntöttem el, valószínűleg az is szerver oldali, hogy ne kelljen napi 3x elmagyarázni, hogy hogyan kell böngészőt telepíteni...
Ez a CORS milyen előnyökkel
Gyakorlatilag semmivel. Nekem
Ezt nyugodtan odaírhattad
Ha localhostról fut a kliens, hogyan oldod meg a frissítését?
Többféleképp meg lehet
A hagyományos HTTP fejléces
Ne vedd sértésnek, de én eddig bármit láttam tőled, feleslegesen túlbonyolítottnak éreztem. Persze nem ismerhetek minden körülményt, hogy miért is döntöttél úgy, ahogy.
Az motivál rá, hogy két külön
szerk:
A halálcsillag készülőben van :D
Részletes
Hát figyelj, ha bolygókat
Anyagilag úgy érné meg, ha leragadnék egy technológiánál, és mindent azzal valósítanék meg. Az a bajom, hogy szeretek tanulni, és az ilyet nagyon hamar elunnám. Nem nekem való ez a szakma...
Halálcsillag
A Halálcsillag Design Pattern
Az új technológiák
no de akkor miért szöszölsz
1, a meglévő környezetből
2, próbálkoztam node.js-sel, de két perc alatt átláthatatlan kódot eredményezett a sok callback, ráadásul az alkalmazásunk jellege miatt csak nagyon kevés dolog párhuzamosítható, ráadásul azok sem jósolhatóak a legtöbb esetben
3, mivel a node.js-t csak a lekvárok használják, ezért C-ben kezdtem el újraírni a kódot : )
:D
Nem vagy egyedul
Úgy tűnik nem vagy egyedül ezzel az elképzeléssel, itt van pl egy speedy képes webszerver ami direkt C -ben írt appok supportjával pórbál kiemelkedni a tömegből: https://kore.io/ :-P
Köszönöm
- C
- kiemelten támogatja az OpenBSD-t
- a licensz
A készítője rossz ember nem lehet.
böngésző
Régebbi böngészőkkel ugye a szokásos CSS / JS / HTML problémák jöhetnek elő, amiknek egy részét nehéz debuggolni, a polyfill-ek sok teljesítményt elvesznek és nagyok (és szintén nehéz őket debuggolni).
Ha érintés eseményeket is akarsz kezelni, akkor Windows 8 alatt elég komoly problémákba fogsz ütközni. IE10 Pointer eseményeket kezel (a szokásos egér mellett). Minden más meg touch eseményeket és egér eseményeket. Szóval a dolgokat többféle képpen is meg kell oldani. Érintés képes eszközöknél pedig az aktív elemeket nagyobbra kell venni, hogy meg lehessen őket célozni.
Különbséget tenni mobil és tablet között nem egyszerű, mivel mindkettő mobil eszköznek azonosítja magát. A felbontásra pedig talán megoldást jelenthet a
A Windows XP-hez, ami még