Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Michal Pflegshörl:2.10.2020 8:07

Potřebuji svojí WinForms aplikaci převést do ASP.NET.
Jaký typ ASP.NET aplikace mám ve Visual Studiu 2015 zvolit, tak aby věškeré funkce zůstaly zachovány.

Zkusil jsem: Visual Studio mi nabízí:

  1. ASP.NET Web Application (.NET Framework)
  2. ASP.NET Core Web Application (.NET Core)
  3. ASP.NET Core Web Application (.NET Framework)

Moc netuším jaký je v nich rozdíl, takže nevím jaký typ vybrat.
Podle popisu a vzhledem k tomu, že server bude mít Windows, bych zvolil 1)

Chci docílit: Současná aplikace využívá různé externí knihovny a webové služby třetích stran. Mimo jiné vytváří a upravuje wordové dokumenty (pomocí Microsoft.Offi­ce.Interop.Wor­d)
Se znovuvytvořením formulářů a možnými úpravami kódu počítám. Vzhledem k velikosti projektu se mi do toho moc nechce,ale doba si žádá inovace. Jedním z důvodů je možnost používat aplikaci pomocí webového prohlížeče na různých OS (Windows, iOS, Android)

 
Odpovědět
2.10.2020 8:07
Avatar
Odpovídá na Michal Pflegshörl
Michal Štěpánek:2.10.2020 9:04

V první řadě by sis měl ujasnit, co vlastně chceš udělat. WinForms je DESKTOPová aplikace a tudíž jí nejde jen tak překliknutím s drobnými úpravami převést na webovou aplikaci.
WebApp musíš vytvořit skoro od začátku a pokud máš dobře udělané vrstvy, můžeš se pokusit tu datovou vrstvu použít pro webapp. Rozhodně ale nemůžeš počítat s tím, že by zůstaly zachovány všechny funkce. Webové aplikace (a funkce v nich) fungují trochu jinak, než desktopové a většinou se musí trošku jinak zapisovat.
Pokud chceš tvořit "CORE" appku, nejsem si jistý, jestli už VS 2015 s tím umí pracovat, ale myslím, že ne.

Nahoru Odpovědět
2.10.2020 9:04
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Michal Pflegshörl:2.10.2020 9:11

Přikláním se k ASP.NET Web Application (.NET Framework), server bude mít Windows. Aplikace by pak měla jít spustit pomocí webového prohlížeče na jakékoli platformě, ne?
Počítal jsem s tím, že jednotlivé formuláře budu muset vytvořit znovu, ale předpokládal jsem, že zdrojové kódy budou vyžadovat jen menší úpravy.

 
Nahoru Odpovědět
2.10.2020 9:11
Avatar
Odpovídá na Michal Pflegshörl
Michal Štěpánek:2.10.2020 9:16

Ano, spustit půjde na jakékoliv platformě ve webovém prohlížeči.
Kdysi jsem to taky zkoušel, že to jenom nějak převedu, ale zjistil jsem, že zápis do controllerů a views má úplně jinou formu a prostě se to musí napsat úplně od začátku. Pokud máš appku rozdělenou do vrstev, lze tu datovou vrstvu použít s mírnými úpravami i pro webovou aplikaci

Nahoru Odpovědět
2.10.2020 9:16
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Michal Pflegshörl:2.10.2020 9:39

Jak jsem psal, vůbec se mi do toho nechce, ale doba (hlavně teda uživatelé) si žádá inovace :-)
Děkuju za konzultaci.

 
Nahoru Odpovědět
2.10.2020 9:39
Avatar
JerryM
Člen
Avatar
JerryM:2.10.2020 16:55

nezapomeň že do budoucna bude už jen .NET Core neboli ASP.NET Core Web Application (.NET Core) protože
MS přechází na .NET verze 5.0 který bude slučovat vše ... a to už od listopadu 2020
https://dotnet.microsoft.com/…d/dotnet/5.0
takže abys náhodou neudělal "chybnou volbu"

 
Nahoru Odpovědět
2.10.2020 16:55
Avatar
Ghst
Člen
Avatar
Ghst:2.10.2020 22:53

Ahoj,
volil bych .NET Core, jako modernější technologii. Připrav se na psaní celého UI znovu.

  • Hostovat .NET CORE aplikaci můžeš i na PC s Windows Server 2012 R2 nebo novější, eventuálně na linuxu
  • Pro někoho je problém odlišné syntaxe v .NET Core (to není tvůj případ, budeš začínat od nuly)
  • Méně vláken na stackowerflow
  • Ověř si funkčnost knihoven třetích stran, zde může nastat problém
  • celkem zásadní rozdíl v psaní aplikace pro desktop vs web (možná budeš potřebovat angular/ react)

Pokud je to větší projekt, určitě věnuj nějaký čas výzkumu, vyzkoušej si tyto technologie a rozhodni se sám, co ti lépe vyhovuje.

 
Nahoru Odpovědět
2.10.2020 22:53
Avatar
zelvicek
Člen
Avatar
zelvicek:4.10.2020 8:50
  1. Přepsat business logiku (a storage vrstvu) na .NET Standard 2.0.
  2. UI nechat na WF v .NET FW 4.6.1+. Zde je na zvážení, zda migrovat na .NET Core 3.X nebo .NET 5.
  3. Interopy mohou být problém - viz https://weblog.west-wind.com/…-NET-Core-2x. a) Zvážit přechod na DocumentFormat­.OpenXml. b) Všechny interopy můžeš mít v separátní aplikaci - způsob hostování může být uzpůsoben UI - tím bys dosáhl určité isolace pro budoucí migraci.
  4. Ta web.apka - rozhodně ASP.NET Core 3.X nebo ASP.NET 5. a) Pure (server-side rendered) MVC bude jednodušší pro napsání. b) API a využití klientského JS/TS frameworku nejspíše sníží síťový trafik a zátěž serveru.
 
Nahoru Odpovědět
4.10.2020 8:50
Avatar
Michal Pflegshörl:5.10.2020 9:55

Když vezmu ty 3 varianty, které mi Visual Studio nabízí:

  1. ASP.NET Web Application (.NET Framework)
  2. ASP.NET Core Web Application (.NET Core)
  3. ASP.NET Core Web Application (.NET Framework)

Doporučujete tedy použít variantu 2?

Četl jsem, že .NET Core nepodporuje webové formuláře. Moje aplikace je založena hlavně na formulářích, které uživatel vyplňuje.

 
Nahoru Odpovědět
5.10.2020 9:55
Avatar
zelvicek
Člen
Avatar
Odpovídá na Michal Pflegshörl
zelvicek:5.10.2020 11:21

VS2015 ti něco nabízí, ale doba pokročila a VS2015 rozhodně nepodporuje nejnovější možnosti - někdo to tu už zmiňoval. Zkus si VS2019Community s nainstalovaným .NET Core 3.X SDK nebo .NET 5 RC1 SDK.

ASP.NET Core skutečně nepodporuje technologii zvanou WebForms. Ale není problém vytvořit stránky obsahující formuláře pomocí MVC a razor pages.

Jak psal Ghst, napiš si PoC projekty. Vytvořit ASP.NET Core PoC je otázka 10-ti minut.
Např.: vývoj MVC ve VS Code - https://docs.microsoft.com/…ty-framework.

 
Nahoru Odpovědět
5.10.2020 11:21
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.