Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno O vývoji aplikácií

Zdravím, toto téma bude len o subjektívnych názoroch, docela by ma zaujímali Vaše názory na vývoj aplikácií.

Prvé čo by ma zaujímalo je že v akých situáciách je vhodnejšie vytvoriť spustitelnú aplikáciu a kedy webovú aplikáciu (teda alebo inak progresívne webové aplikácie, však myslíme i na mobilné zariadenia žejo?) prípadne kedy oboje.

Ja zatím mám k tomu názor taký že webové aplikácie sú vhodnejšie pre situácie kedy sa jedna o veľmi jednoduché aplikácie, typicky napr. generátor náhodných čísel, ankety a pod. ktoré sa využívajú zriedka a je zbytočné aby uživatelom zaberali miesto na disku, a aby museli neco inštalovať. Druhá situácia je keď sa jedná o neco co sa neustále aktualizuje a je veľmi dynamické, čož je v aplikácii omedzenie.
Aplikácie bych považoval za vhodnejšie pre situácie kedy je to často využívaná aplikácia ktorá nemení svoj charakter, svoje "relatívne jadro", a maximálne sa mení v nej "nejadrový obsah" (pojem nejadrový obsah bych označil nejaké vstupy a výstupy pre uživatele ako sú texty ktoré píšeme do chatových aplikácií, teda obsah vopred nejasný a nedefinovatelný pre vývojára). Ovšem sú situácie kde ťažko určiť či je vhodnejšie vyvinúť spustitelnú aplikáciu alebo webovú aplikáciu, alebo prípadne oboje. Napríklad ak by ste chceli naprogramovať porovnávač cien niečoho, nejaký generátor určitých outputov (čísla, texty, alebo neco jiné, napr. generátor chess PGN? i to by zrejme šlo, pri použití napr. stockfish 8 by bolo možné snaď vytvoriť aj počítačom generované hry ktoré by vyzerali dosť dobre a na ktorých by sa šachisti mohli učiť, to len príklad).
Ovšem ďalšia otázka tu je aj platforma, máme tu stolné počítače, mobilné zariadenia, ale i iné zariadenia typu smart TV, a iné smart bazmeky. Kedy a ako vyvíjať aplikácie a pre ktoré platformi v tom čase? Kam je vhodné cieliť svoj produkt, na aké platformi sa zamerať a na akých bude mať aký typ aplikácie úspech?
A aké technológie použiť pri tvorbe onej aplikácie, podľa akých okoľností resp. podľa čoho by ste volili ktorý programovací jazyk? C++ nebo electron, alebo cordova? čo tak napr. Scala? Otázok mnoho. Ja momentálne ujíždím na electrone pre Windows a Linux a na Cordove pre android, ovšem neco i kolem C a C++, kolem Go, Javy, ale taky som sa obzrel už po iných programovacích jazykoch či technológiách. Je tu toho tolik na výber, čo ovšem vybrať a ké hlavné faktory by mali viesť k výberu práve onoho toho čo bych využil pre vývoj aplikácii.

Ale tieto texty stále píšu len o veciach ktoré uživatel danej aplikácie až tak vidieť nebude, čo tak grafika? Podľa čoho navrhnúť rozloženie prvkov (Interface, Layout) v prípade spustitelných aplikácií či webových aplikácií. Už Vás nekdy napadlo vytvoriť spustitelnú aplikáciu s layoutom typickým pre webové stránky? A aké kritériá by sme si mali určiť pri výbere toho ako rozložíme prvky? A čo v prípade Windowsu, je vhodné používať "windowsácky frame" alebo navrhnúť vlastný? Je niekedy vhodné zamietnuť uživatelovi v zmene veľkosti okna aplikácie? A čo prvky aplikácie mimo framu, nebo tie ktoré sú schopné prekrývať časti iných aplikácií? Jak navrhnúť toto všetko aby mal Váš software úspech? A čo tak ikony aplikácie? Tam sa ja celkom divím že veľa aplikácií i u veľkých firiem ako MS, Google, Github, a pod. sú schopný nedomyslieť ikonu, a pak zrazu bum sa stane neco takéto?

[31841864-b2229c54-b5eb-11e7-94aa-309f7f6b2f8a.png]

natož ešte na pozadí ktoré je defaultné od MS... heh, to už mohla byť rovno neviditelná.
Či i tohle nedomysleli?

[31292315-cebd6c00-aa87-11e7-897b-7c8addad53d8.png]
[32723382-88577e1e-c86d-11e7-9baa-44b1447fa37c.png]

To asi pre uživatele nevyzerá moc prívetivo.
Pak microsoft musel 2x robiť ikonu, všetko o nej môžte čítať zde:

https://code.visualstudio.com/blogs/2017/10/24/theicon

Celkom sa divím že takto riešená ikona je asi tak u 70% aplikácií ktoré sú "hojne" využívané...
Toho je tu ovšem ešte viac. Čo by malo byť grafickým obsahom loga, ikony a pod, aké farby zvoliť? A jaká voľba je najvhodnejšia aby vystihla podstatu aplikácie?
Jak moc farebná resp. nefarebná by aplikácia mala byť, miešania mnoho farieb tiež asi príjemné byť nemusí, najmä v určitých extrémnych prípadoch, kde kontrastne to proste nesedí, a i to se stáva veľkým IT spoločnostiam.

Na čo všetko je potreba si dávať najväčší pozor pri vývoji aplikácie i když by sa jednalo o "maličkosti" ktoré môžu ale spôsobiť veľký Vpliv na to jak je vaša aplikácia úspešná. Chcem vedieť Váš názor na toto vše.

Ešte je tu mnoho ďalších vecí ktoré som ani nezačal rozoberať ako zaistenie bezpečnosti, voľba licencie (v prípade open source často vývojári vyberajú hneď ako prvé GNU-GPL i když by to nemusela byť najlepšia voľba, kdy ju jako nevybrať a kdy jako jo?), open source vs closed source, free vs paid, lepšie reklamy, donate system alebo spoplatnené? I k tomu sa môžete vyjadriť, už tu kecám toho mnoho ešte dosť štýlom hodne "ach ten kecá jak professor" (jo to si uvedomuju, asi som to mohol napsať inak). Skúste sa vyjadriť k čo najviac veciam a k chybám ktoré sa dejú pri vývoji aplikácií a ktorým by sme sa mali vyvarovať. Prípadne aj s akými sa stretávate, a jaké chyby v aplikáciách ktoré používate Vás hnevajú?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Dneska uz nebych tlusteho klienta asi nepsal. Myslim, ze neni duvod (s vyjimkou mobilnich appek). Se…
MaSo 24.01.2018 11:03
MaSo
Tlustý klient má pořád své použití. - napíšeš jej rychleji - může pracovat offline - má rychlejší od…
Jan Fiala 24.01.2018 11:34
Jan Fiala
Nerikam, ze nema, ale ja uz bych ho nepsal. Ani neverim, ze se napise rychleji. Aplikaci, ktera umi… nový
MaSo 24.01.2018 11:53
MaSo
RIA ficali tak v 2015. Teraz vacsina firiem funguje v style service a k nemu clientske appky pre vse… nový
cigan 24.01.2018 13:19
cigan
Dobře napsaná aplikace s "tunou JS" může běhat tak rychle, že běžný uživatel nepozná rozdíl od nativ… nový
Wikan 24.01.2018 13:44
Wikan
súhlas, napr. lichess.org je príkladom. nový
Mlocik97 24.01.2018 13:55
Mlocik97
Jiste. V modernim prohlizeci muze bezet i plnohodnotna 3D hra, tak nevidim duvod, proc by nemel stac… nový
MaSo 24.01.2018 14:17
MaSo
Sach a 3D hra nebude asi ten dobry priklad. Ono nie je problem ani tak samotny JS, ako ajaxove volan… nový
cigan 24.01.2018 14:34
cigan
Mne vyvoj aplikaci v Jave zivi a s Jirou, Wiki, Hudsonem, GitLabem apod. pracuji denne...:-) Jsem te… nový
MaSo 24.01.2018 14:42
MaSo
Ešte jedna otázka ma napadla, i když je to skôr vývoj webstránok než aplikácií. Je podľa Vás vhodne… nový
Mlocik97 24.01.2018 14:16
Mlocik97
Pokud se tam vyskytují dlouhé texty, tak je menší šířka vhodnější, protože užší řádky se lépe čtou.… nový
Wikan 24.01.2018 14:28
Wikan
No mne vyhovovali aj dlouhé riadky pri dlouhých textoch ale s tým že by bolo normálne riadkovanie, s… nový
Mlocik97 24.01.2018 14:31
Mlocik97
Číst delší texty na 21:9 monitoru může připomínat sledování tenisu. Nikdy nevíš, na jak širokém zaří… nový
Wikan 24.01.2018 14:35
Wikan
tak ono myslím že sa to dá spraviť aj tak že by si sám uživateľ vedel roztiahnuť stránku na šírku ta… poslední
Mlocik97 24.01.2018 15:25
Mlocik97

Tlustý klient má pořád své použití.
- napíšeš jej rychleji
- může pracovat offline
- má rychlejší odezvy
- pohodlnější vyplňování dat, zvlášť u primárního pořizování
- nejsi závislý na libovůli tvůrců prohlížečů a tím pádem nemusíš řešit odlišnosti v prohlížečových enginech a jejich verzí

Nerikam, ze nema, ale ja uz bych ho nepsal. Ani neverim, ze se napise rychleji. Aplikaci, ktera umi pracovat offline, jde napsat i v browseru. Vyplnovani fomularu je stejne pohodlne i na webu. Nekompatibilitu browseru resit sice musis, ale kdyz ji vyresit tak mas hotovo pro vsechny platformy. Napsat tlusteho klienta multiplatformne neni, jak jiste vis, uplne easy...

Dneska bych se snazil uprednostnit RIA. Je rok 2018, ne 2000...:-)

RIA ficali tak v 2015. Teraz vacsina firiem funguje v style service a k nemu clientske appky pre vsetky mozne platformy (mobilne su uz samozrejmost) + samozrejme aj webova aplikacia.
Ako priklad si vezmi taky Evernote. Maju aj webovu "aplikaciu", kde mozes pisat poznamky a vsetko mozne, ale pouzivat to viac ako par minut denne je ciste utrpenie.
Radsej clovek siahne po klasickej aplikacii.
Aj ked vyvoj webu siel v posledne roky riadne dopredu, stale su klasicke aplikacie pohodlnejsie ako spomaleny web s tonou javascriptu.

Sach a 3D hra nebude asi ten dobry priklad. Ono nie je problem ani tak samotny JS, ako ajaxove volania. Pri sachu ci 3D hre ich bude asi minimum. Natiahne sa ti JS lokalne a uz fungujes. To je samozrejme rychle.
Skus niekedy komplexnejsie systemy ako su JIRA alebo TFS. Neustale cakanie na rozne refreshe, nemoznost si otvorit viacero okien a celkove cakanie na render kazdej obrazovky.
Pri webovych appkach musis riesit aj take veci, ze pocas nejakeho procesu moze niekto stlacit refresh. Pripadne niekto moze stlacit "Back", co nie vzdy chces povolit. Musis sa chranit pred "expertami", ktori skusaju rozne "hacky", ktore sa na webe daju spravit.
Nech ma nechapete zle, ja nie som apriori proti webu, ale ako pisal JaFi, klasicke aplikacie stale maju zmysel. A vyslovit vetu "Je rok 2018 a nie 2000" nie je argument. Pokial naozaj programujes aplikacie, tak daj veci z praxe.

Mne vyvoj aplikaci v Jave zivi a s Jirou, Wiki, Hudsonem, GitLabem apod. pracuji denne...:-) Jsem teda spis na backednu, ale vidim co nasi kluci z frontendu tvori a libi se mi to - pomale to rozhodne neni. Delam v tom uz skoro 10let, tak mozna o tom neco vim. Tlusteho klienta jsem delal naposledy nekdy v roce 2009 jeste v Java Swing...

Ale tlusteho klienta Evernote mam nainstalovaneho ve svem PC taky...:-)

Ešte jedna otázka ma napadla, i když je to skôr vývoj webstránok než aplikácií.

Je podľa Vás vhodnejší toaleťákový web (tzv. web ktorého obsah je centrovaný na stred v stĺpci s okolo 50% šírkou okna prehliadača) alebo tzv. full"screen" resp. presnejšie full document browser window web (asi tak bych pomenoval to).

Vidím že toaleťákové weby sa používajú často ale mne sa moc "nepáčia" (najmä jak blbec pak musím hodne scrollovať)...

tak ono myslím že sa to dá spraviť aj tak že by si sám uživateľ vedel roztiahnuť stránku na šírku tak ako by chcel alebo len do určitej šírky ponúkať full"screen" a od určitej šírky ponúknuť toaleťákový web.

Zpět do poradny Odpovědět na původní otázku Nahoru