Diskuze: Jak používat C# namísto JavaScriptu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 20 zpráv z 20.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus se podívat na Blazor.
Jo a ještě jsem zapomněl zmínit že bych chtěl, aby ta kompilace do js mohla být součást nějakého IDE/editoru, abych nemusel pořád dokola kompilovat do JS a výsledek pokaždé vkládat do IDE/editoru
Jen ještě upřesním svůj divně napsaný dotaz: Chci dělat frontend pomocí HTML, CSS a případně JS a backend pomocí C# s tím, že výsledek bude stejně nebo více multiplatfomní jako/než JS. Ta kompilace C# do JS byl jen nápad, jak by to mohlo jít. Tou “multiplatformnosti jako u JS” myslím možnost vytvářet:
Hm. Jestli chceš dělat frontend v HTML,CSS, JS a zbytek v c#, tak jdi do ASP.NET Core - to je přesně skladba kterou hledáš. Potom lze "nahradit" js s pomocí C# přes WebAssembly https://github.com/aspnet/Blazor. Je to ale projekt v rané fázi. Přes web assembly se dají vytvářet klientské aplikace ve spoustě jiných jazycích... Appky pro android/iOS /Windows 10 se dělají poměrně často v Xamarinu, kde se používá C#. Firefox OS je mrtvola, tím bych se nzabýval. Aplikace pro Mac, Windows Linux můžeš dělat postavené nad .NET core. Existuje například https://github.com/…aUI/Avalonia , což je knihovna pro vytváření multiplatformních UI. Apps běžící v prohlížeči za pomocí c# se dělali v silverlightu, ale to je pasé. Dneska buď nějak experimentálně ten Blazor nebo jiné kompilace do js, ale upřímně si myslím, že doba C# na klinentské straně teprve zraje.
Avšak nepředstavuj si to tak, že napíšeš jeden kód a pofrčí ti to na všech strojích.
Avšak nepředstavuj si to tak, že napíšeš jeden kód a pofrčí ti to na všech strojích.
To si nepředstavuju, no.
Jinak jasně, že mohu použít jiné technologie, de o to, že dělat frontend v HTML a CSS umím. Takhle bych se musel učit ten Xamarin a třeba WPF
Jinak díky za odpověď
A jak je to s Kotlinem/Dartem. Vyplatí se je učit kvůli následné kompilaci do JS?
Xamarin se jako ještě neučíš, nebo jsi ještě úplně na začátku?
Podle <a
href="https://www.itnetwork.cz/csharp/diskuzni-forum-c-sharp-visual-studio-net-xna/kde-byste-mi-doporucili-ucit-se-xamarin--5a85c2e32deab">tohohle</a>
jsem myslel, že už něco umíš .
A WPF tak těžké není a hodit se ti určitě bude.
Neučím V té diskuzi
jsem pouze uvažoval o učení se Xamarinu, zjišťoval jsem, jestli jsou
nějaké přijatelné kurzy zadarmo.
Kotlin se vyplatí učit, pokud chceš dělat něco pro JVM. Kompilace do JS funguje dobře, ale setup toho je složitější a návodů k tomu je dost málo. Navíc multiplatformní projekty jsou zatím v experimentální fázi, celé se to ještě dolaďuje. Takže použít se to dá, ale není to úplně "production ready"
Příklad: https://github.com/…ultiplatform
Můžu doporučit. Funguje to tak, že si to stáhneš do Visual Studia, napíšeš kód v C# a ono to vyplivne klasický javascript. Funguje to úplně jako klasický javascript, můžeš s tím dělat úplně to stejný, ale píšeš v C# - se vším všudy, včetně třeba LINQu. Funguje to všude, můžeš z toho volat klasický javascript (včetně js knihoven), můžeš třeba i pracovat s canvasem - cokoliv. A na SEO to nemá negativní vliv, protože to je v podstatě jenom klasický javascript. Vážně to vyzkoušej.
Ještě poznámka: mluvil jsi o Bridge.js, nemyslel jsi tím Bridge.net? Jestli ano, tak html objekty se nemusejí vkládat pomocí js - normálně napíšeš web v html/css (a třeba i php nebo asp) a existující objekty upravuješ nebo můžeš přidávat nové, ale rozhodně to není tak, že bys byl omezený pouze na js. Prostě to "zkonvertuje" C# do JS, funguje to úplně stejně a dokáže to stejný věci jako nativní JS kód.
Mluvil jsem o Bridge.net, jen jsem spletl ten název. Jinak vypadá to dobře, díky.
Zkus kouknout na cesky framework www.dotvvm.com od kluku z Riganti.
Je tam možnost volat JS objekty ze C#?
Ano. Javascript můžeš volat přímo pomocí Script.Call(funkce, parametry) - třeba Script.Call("alert", "Hello World"); -> v javascriptu alert("Hello World")
Pokud chceš získat objekt nebo nějakou hodnotu z JS, uděláš tohle: var user = Script.Call<dynamic>("getUser"); (getUser je funkce v javascriptu, která něco vrací, třeba objekt uživatele). (místo dynamic můžeš použít třeba i normální objekt, dynamic použij když nevíš nebo nemáš to, co JS vrací, deklarováno v kódu)
A jak je to kompatibilní s .NET frameworkem? Mám na mysli jen tu "logickou
vrstvu", samozřejmě ne WPF nebo WinForms
Výborně, nikdy jsem s tím neměl problém. Zvládá to generiku, oop, dokonce i LINQ.
Zobrazeno 20 zpráv z 20.