Diskuze: Začátečník - Multiplatformní aplikace v C# (Windows, MacOS, Linux)
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 27 zpráv z 27.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus to postavit na ".net core" a klidne zacni tou kalkulackou pro Windows. Pak si treba napis dalsi mensi appku. Az si pak projdes OOP tak si zkus takovou mensi domaci (konzolovou knihovnu), taky klidne pro Windows, a az se do toho trochu dostanes, zacni vymymslet dalsi platformy atd. Ted se do toho, dle meho nazoru, zbytecne akorat zamotas...
.NET Core oficiálně nepodporuje žádný GUI. A budoucnost JavaFX je asi trochu nejistá https://jonathangiles.net/…e-on-javafx/
Děkuji Vám za odpovědi.
Tak jinak se zeptám. Jaké UI frameworky jsou pro Windows / či Android dostupné a jaké jsou možnosti?
Podle wiki jich není moc
.
Podle vzhledu se mi líbí Qt Framework, ale lze je zprovoznit pomocí bindingu? Co si pod tím představit?
Dá se C# při vývoji na platformě .NET "míchat" s jinými jazyky? Třeba JavaScript či Python.
Děkuji
pokud jde o to "míchání", tak když pominu visual basic (učí se ho ještě vůbec někdo??) tak ideální doplněk je C++/CLI, především pro vytváření výkonných knihoven tříd, které si pak zavoláš z GUI aplikace naklikané v C#.
Díky. Popiš mě to prosím blíže. Docela mě to zaujalo.
Já jako neprogramátor se do toho postupně snažím dostat. A udělat si
přehled.
Nejlepší je to podat formou takovou, jako bys to vyprávěl dědovi
- aspoň tak se mi to v IT
osvědčilo. V IT se pohybuji, ale programování fakt zatím nerozumím.
Neoficiálně je pár hezkých UI knihoven pro .net core (resp. některé dokonce .net standard). V oficiální roadmapě .net core je zahrnuta konverze wf, wpf atd. ve verzi 3.0, nějaké datum bylo tuším do konce roku.
Sice WPF a WF budou součástí .NET Core, ale nebudou multiplatformní.
https://blogs.msdn.microsoft.com/…pplications/
To je právě ten fail, dokud MS neudělá oficiální multiplatformní GUI, nebude .NET Core plnohodnotný.
WF C# aplikace zkompilovaná v VS mi někde před 5 rokama běhala v Ubuntu aniž bych musel cokoliv měnit, tak bych čekal, že .NET aplikace už bude dneska Linux umět spustit bez nějakých kejklí jen poklepáním na exáč, jak je to na macOS netuším, tam jsem to jsem nezkoušel.
Tady jsem našel zajímavý instalátor : https://installbuilder.bitrock.com/
Když se tak dívám a testuji tuto appku, tak napsat instalátor je stejná věda jako programování samotné...Docela "těžký". Promiňte, trochu předbíhám, rád testuji appky a dost mě to zajímá - pro budoucí "použití".
Prosím Vás, jaké multiplatoformní GUI frameworky je možné použít pro projekt napsaný v C# / .NET Framework (tedy ne .NET Core).
Jaký je rozdíl mezi .NET Frameworkem a .NET Core? Já to zjednodušeně pochopil tak, že .NET Core je určený především pro "webové aplikace", jestli se nepletu. Docela by mě zajímalo, jestli se vůbec někdy pro .NET Core objeví nějaký GUI Framework.
Vždyť se to tu řešilo, proč se ptáš znovu na to samé? Core nemá a vypadá to, že nebude mít multiplatformní GUI a .NET také nemá multiplatformní GUI. To znamená, že pokud chceš dělat multiplatformní GUI, je výhodnější použít jiný programovací jazyk, než "hackovat" C# a pak to postavit na nějaké knihovně třetí strany, která tu za rok již nemusí být. Pokud máš rád Linux, tak vyvíjet v C# nedává valný smysl, i když ti tu pár lidí napíše že si pro to něco přeložili, když začneš dělat něco vážnějšího, zjistíš, že to úplně tak stejné není.
Tvé možnosti jsou:
Jak už říkal Jan Vargovsky, tak UI je v plánu ve verzi 3. https://blogs.msdn.microsoft.com/…pplications/
Proč nečtete ty příspěvky předtím? Podívej se na ten obrázek na odkazu co jsi právě poslal, zejména na text "Windows-only".
Pokud máš rád Linux, tak vyvíjet v C# nedává valný smysl, i když ti tu pár lidí napíše že si pro to něco přeložili,
C# i s GUI je uplne v pohode multiplatformni, mono a WF fungujou celkem v pohode na Linuxu i MacOs. Proc by mel nekdo nesmyslne prechazet na jinej jazyk a jeste k tomu treba na min user-friendly Javu?
když začneš dělat něco vážnějšího, zjistíš, že to úplně tak stejné není.
co treba presne mas na mysli?
Nějak se v tom ztrácím. Příspěvky čtu a snažím se tuto problematiku studovat (i když vám to tak teda nepřipadá).
Mám rád Linux, ale není pro mě primární. Myslel jsem, že C# je multiplatformní, zde i všude jinde to bylo zmíněno. A bez GUI je to k prdu...
A je C# vhodný jazyk pro pochopení úplných principů programování? (viz můj první příspěvek).
Chci se jeden jazyk naučit dokonale, naučit se dokonale principy programování. A pak na tom stavět dal. Protože si myslím, že ten princip bude všude víceméně stejný (Java). Ale to je jen domněnka, jak to je skutečně nevím.
Jeden programovací jazyk bude těžko stačit... Asi.
Neoficiální GUI - o tom bych vůbec neuvažoval, je to jen taková
náplast..
WF/WPF - třeba se dá nějakým způsobem spustit na Linuxu, ale není to
nativní záležitost, takže pokud chceš cílit na Linux, je blbost o něm
uvažovat.
Doporučuju si přečíst odkaz ohledně JavaFX, co jsem poslal výše, pak zjištíš, že její budoucnost také není moc jasná.
A pak zjistíš, že momentální stav GUI frameworků stojí za nic
Budeš muset udělat
kompromis.
Jazyk si vybert podle toho, co plánuješ dělat.
Ano, C# multiplatformni je a stejne tak treba pres WF - Winforms GUI, ktery v
C# je.
Budto pres mono nebo treba i pres Wine.
Ano, C# vhodny k pochopeni uplnych zakladu vhodny je.
A programovacich jazyku se vzdycky hodi umet vice, mimochodem zadny jazyk se
nikdy nenaucis dokonale 
WF/WPF - třeba se dá nějakým způsobem spustit na Linuxu, ale není to nativní záležitost, takže pokud chceš cílit na Linux, je blbost o něm uvažovat.
ugh...
blbost je akorat to, co jsi tu prave napsa
l.
Plánuji primárně psát pro Windows / Android.
Ale jako "správný vývojář" bych chtěl appky multiplatformní (Windows, MacOS, Linux, FreeBSD, Android a iOS - to bych chtěl pokrýt). Jediná možnost je C / C++ nebo Java (co vím z toho, co jsem načetl).
Příklad, až se do toho více dostanu - do programování, chtěl bych napsat multiplatformní kalkulačku. A vyzkoušet si to, co obnáší optimalizování pro danou platformu, zkompilování atd. To prostě považuji za strašně super věc a já mám z toho takové nadšení. Špatný na tom všem bude to, že zase bude chybět určitě GUI. Vadí mi ta až úchylná roztříštěnost IDE / programovacích jazyků / kompilátorů / programovacích jazyků (dost to omezuje...).
Chci se prvně naučit programovat, umět myslet u toho... Moc možností asi stejně nemám. Myslím si, že buď C# nebo Java. A když už mám tolik literatury kolem toho, Visual Studio nainstalované v plné palbě... Tak asi začnu C#...
Já se to prostě musím prvně naučit. Jak můžu něco víc vědět, když o programování vesměs vím prd.
Ano, C# vhodny k pochopeni uplnych zakladu vhodny je.
O to mi jde v prvé řadě. Zpočátku to beru tak, že to bude můj velký večerní koníček (rok - dva, než se to opravdu naučím). Pak bych chtěl psát profesionálně (pod nějakou firmou) aplikace pro PC (Windows / MacOS, Linux, FreeBSD) a mobilní platformu (Android a iOS) a taky webové appky (což je dle mého docela budoucnost).
IT mě baví, pracovat si na něčem taky...
Mám hodně rád Windows (ať si každý říká co chce..a znám je z hlediska ovládání a administrace dobře). Linuxu taky trochu holduji, i když ne tolik jako Windows. A ve virtuálce jsem nedávno měl i MacOS.
Windows, MacOS, Linux, FreeBSD, Android a iOS
Tohle pokryva c# taky, pres xamarin/mono. A platform specific veci (cesty k souborum, user slozky apod.) musis pak stejne resit i v c++/jave.
zrovna u kalkulacky toho kolem resit moc nebudes kvuli multiplatformnosti -
nejspis nic, pokud nebude mit nejaky specialni funkce 
WF/WPF oficiálně multiplaformní není, i když existujiou způsoby, jak ho spustit mimo Windows. Takže určitě žádná velká firma co chce svůj důležitej produkt prosazovat jako multiplaformní, nezvolí ani jedno z nich.
Bart: Já bych se klidně vydal cestou C#, na jednoduchý udělátka jako kalkulačka si vystačíš buď s GUI třetí strany nebo Windows-only. Navíc vždycky neni problém si z C# odskočit do Javy, protože k ní nemá daleko. A samozřejmě pokud chceš dělat webový a mobilní aplikace, nezanedbal bych JavaScript (+TypeScript).
Takže určitě žádná velká firma co chce svůj důležitej produkt prosazovat jako multiplaformní, nezvolí ani jedno z nich.
To pak asi zalezi na tom, co povazujes za velkou firmu, pro me treba firma s
prijmama pres miliardu dolaru rocne velka firma uz je 
Zobrazeno 27 zpráv z 27.
