Diskuze: Desktopový vývoj vs webový vývoj

PHP PHP Desktopový vývoj vs webový vývoj American English version English version

Aktivity (1)
Avatar
Erik Šťastný:25. května 15:55

Zdravíčko programátoři!

Ačkoliv se do toho pouštím velmi nerad, tak situace vyžaduje zvlášť pro podnikatele postupně přejít z vývoje pro desktopy do vývoje webů a nejsem si zcela jistý, zda chápu danou problematiku správně.

Na desktopu jsem zvyklý, na aplikace, kde se všude předávají reference mezi objekty na objekty jiné apodobně. a psát GUI aplikace není vůbec jen tak bez znalosti frameworků jako Qt, .NET, apod.

Zatím s weby opravdu začínám, ale přijde mi, že tohle tu vůbec není a základní weby se dají psát opravdu šíleně jednoduše.

Každá HTML stránka má k sobě nějaký server side kód, a vše se čte z databáze, žádné předávání objektů mezi stránkami apod.

  • Připravíte si HTML šablonu jako "GUI"
  • Nachystáté fragmenty kódu, téměř vše pracuje s databází. Žádné pasování referencí a proměnných všude po celé aplikaci.
  • Ve finále takto pospojujete GUI prvky s fragmenty kódu na dotazy do databáze.

Opravdu se dají jednoduché weby psát takto snadno?
Přijde mi, že u webů je hádám na prvním místě, pracovat s databází, ano?
Nebo mi něco nedochází a ve skutečnosti je to daleko složitější?

Editováno 25. května 15:56
 
Odpovědět 25. května 15:55
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:25. května 21:01

Opravdu se dají jednoduché weby psát takto snadno?

Ano, dají se tak vytvořit weby. Je třeba ale nezapomínat na to, že také používáš pro GUI framework, konkrétně prohlížeč, který za tebe parsuje HTML tagy, případně provádí kód na "GUI" navázaný. Tohoto efektu také lze dosáhnout u desktopových aplikací, GUI se dají i naklikat, nebo specifikovat pomocí "konfiguračního" souboru.

Pokud je web složitější, použití frameworku (třeba pro abstrakci nadDB) stejně neunikneš.

Nahoru Odpovědět  +1 25. května 21:01
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Erik Šťastný:28. května 8:21

Jasně, spíše jde o určitou univerzálnost, HTML, CSS a JS funguje všude. Ale umět Qt nebo WPF, tak s tím neuděláte moc web nebo appku pro mobil.

Dost mě zaujali přímo i aplikace čistě pomocí HTML, CSS a JS, zaujala mě myšlenka umět opravdu jednu věc pro prakticky všechny platformy (Desktop, Web, Mobile)

Co jsem koukal na performance JS, tak na tom není nějak extra bídně, aby to bylo nepoužitelné, jasně že pokročilé 3D hry v tom neudělám, ale i na složité aplikace, kde dřinu obstará DB, tak asi proč ne?

Editováno 28. května 8:21
 
Nahoru Odpovědět 28. května 8:21
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Erik Šťastný
Martin Dráb:28. května 9:05

appku pro mobil

Pokud vím, Qt funguje i na mobilních platformách (minimálně Android). Ale jinak ano, desktopové věci nejsou a nikdy nebyly určeny pro tvorbu webu.

Dost mě zaujali přímo i aplikace čistě pomocí HTML, CSS a JS, zaujala mě myšlenka umět opravdu jednu věc pro prakticky všechny platformy (Desktop, Web, Mobile)

Otázka je, kolik toho takové aplikace dokážou. Mně osobně se pak moc nelíbí to webové UI pro desktopovou aplikaci. Ty mám rád krásné okénkové, jak je tomu v tomto prostředí dlouhá léta zvykem. Navíc mám rád aplikace, které dobře fungují i bez připojení k internetu (což ty webové mohou taky samozřejmě).

Co jsem koukal na performance JS, tak na tom není nějak extra bídně, aby to bylo nepoužitelné, jasně že pokročilé 3D hry v tom neudělám, ale i na složité aplikace, kde dřinu obstará DB, tak asi proč ne?

V zásadě ano. Na GUI aplikace není potřeba mnoho výkonu (na samotnou práci s GUI).

Nahoru Odpovědět 28. května 9:05
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Erik Šťastný:28. května 9:12

Máš určitě pravdu, bylo myšleno Qt vs web a WPF vs mobile například.

K tém okýnkám, co si člověk nastyluje to dostane, ne? Pokud myslíš samotné okraje jako vzhled klasických OS oken, tak jsem se díval např. na Electron , což je prakticky framework, který tyto HTML/CSS/Js aplikace obalí, že na vzhled vypadají jako nativní.

 
Nahoru Odpovědět 28. května 9:12
Avatar
Odpovídá na Erik Šťastný
Vladislav Ladicky:28. května 11:41

Je to naozaj tak, ako Ti to pripadá. A pozri si Vue.js, knižnicu na vykresľovanie frontendu vo forme znovupoužiteľných komponentov. Bude Ti to pripadať ešte ľahšie. Funguje aj s Electron, rovnako jednoducho tak urobíš aj desktopovú apku, a reusneš už hotové komponenty. Keď si stiahneš Visual Studio Code, ktoré sa s Vetur pluginom najčastejšie používa na vývoj s Vue, tak za pozornosť stojí, že aj VS Code je Electron apka. No a tie isté Vue komponenty + Native Script a máš mobilnú apku. Na Android aj iOS. A backend? Ten si prenajmeš. Pozri si napríklad Firebase. Nestaráš sa o server, len do neho pošleš svoje funkcie. Hotovo, máš klient-server databázovú aplikáciu. Je to jednoduché. A je to prehľadné, ďaleko prehľadnejšie ako pri desktopovom vývoji. HTML/CSS/JS je naozaj všetko, čo potrebuješ...

 
Nahoru Odpovědět 28. května 11:41
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:28. května 15:21

Ano, webova aplikace se da resit jednoduse. Ale pokud mas v ni registrovaneho uzivatele, nejaka obpravneni a resit zabezpeceni, tak je to dost piplacka.
Elektron, Vue, Vetur neznam. Zatim jsem pouzil max. Bootstrap. (On problem je, ze dokazi ty skiny a komponenty si napsat sam, tak se ani moc nezajimam o cizi mozna mene spolehliva reseni :) )

V Delphi se da vlozit webovy browser. V Qt by to mohlo jit taky. Nebude nijak skvely, ale dala by se pomoci neho asi udelat desktopova aplikace. A propojit to pak s vykonavanim nejakych exe.

3d hru v tom udelat lze. Browsery podporuji vyuzit vicejader cpu i gpu. Ostatne, google android/chrome by melo byt resene jako webova app, myslim.

 
Nahoru Odpovědět 28. května 15:21
Avatar
Odpovídá na Peter Mlich
Erik Šťastný:28. května 15:25

Electron není vůbec o psaní skinu, Electron je framework, který ti celý HTML/CSS/JS kód zabalí do .exe aplikace, která vypadá jako nativní.

Jinak díky moc všem za účast v tématu, asi začnu cvičit pravděpodobně, tím, že aplikaci kterou jsem se chystal právě tvořit jako desktop ve WPF, tak zkusím vytvořit pomocí HTML/CSS/JS a uvidím :)

 
Nahoru Odpovědět 28. května 15:25
Avatar
Martin Petrovaj
Překladatel
Avatar
Odpovídá na Erik Šťastný
Martin Petrovaj:28. května 16:00

Kedysi veľmi dááávno bol taký ústupok desktopovým a WPF programátorom a volal sa WebForms, neviem či poznáš :-) To by ti tvoje staršie aplikácie mohlo pripomínať viac.

Weby môžeš ostatne písať v čom len chceš a áno, naozaj ti dnes na vývoj celej aplikácie stačí HTML, CSS a JS, celkom dosť webových aplikácií sa dnes stavia na Node.js pre backend (+ nejaké ďalšie frameworky podľa výberu daného tímu / spoločnosti, samozrejme). Podľa tvojej prvej správy ale hádam, že "ideologicky" by ťa viac mohlo lákať písanie trochu (ja to tak nazývam) konzervatívnejších aplikácií, napr. v ASP.NET Core MVC :-) (yes, I'm a fan, no need to point out the obvious)

Nahoru Odpovědět 28. května 16:00
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Odpovídá na Martin Petrovaj
Erik Šťastný:28. května 16:07

na ASP.NET jsem koukal, ten neřeší, to že někdy se hodí umět napsat něco na desktop, někdy něco na mobil, rád bych se zkrátka stal co nejvíce univerználním.

Krásně univerznální je sice C# jako jazyk. Máš ASP.NET na web, Xamarin na mobil a WPF na Dekstop, nicméně co se týče GUI a práce kolem toho se musíš naučit 3 odlišné technologie.

To u HTML/CSS a JS odpadá.

 
Nahoru Odpovědět  +1 28. května 16:07
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.