์ง๋ ๋ช ๋ ๋์ ASP.NET Core์ VB.NET ์ง์์ ๋ํด ๋ง์ ์ง๋ฌธ์ด์์์ต๋๋ค. ์ด๋ฅผ ๋ฐ๋ฅด๋ฉด ๋ชจ๋ ๋ง ๋ค๋ฅธ ๊ณจ๋ชฉ์ผ๋ก ์ด์ด์ง๋๋ค. ์ค์ ์๋ต์์ด ๋ซํ๊ฑฐ๋ ASP.NET Core์ ๊ด๋ จ์ด์๋ ๋ค๋ฅธ ๋ฆฌํฌ์งํ ๋ฆฌ (์ : dotnet ์กฐ์ง ์ด๋๊ฐ)๋ก ์ด๋๋ฉ๋๋ค.
๊ทธ๋์ VB๋ฅผ์ง์งํ๋ค๋ ์ด์ผ๊ธฐ๊ฐ์์์ต๋๋ค. ASP.NET Core๊ฐ ์ฒ์๋ถํฐ VB๋ฅผ ์ง์ํ์ง ์์๋ค๋ ๊ฒ์ ์์ ํ ์ดํดํ ์ ์์ต๋๋ค. ํ๋ก์ ํธ๋ ๋ง์ ๊ธ์ํ ๋ณํ๋ฅผ ๊ฒช๊ณ ์์๊ธฐ ๋๋ฌธ์ ์ฒ์์๋ C #์ ์ง์คํ๊ณ ๋์ค์ ๋ค๋ฅธ ์ธ์ด์ ๋ํ ์ง์์ ์ถ๊ฐํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด์์ต๋๋ค. ๊ทธ๋ฌ๋ VB๋ฅผ ์ง์ํ๋ค๋ ์๊ฐ์ ๊ธธ์ ์์ ๊ฒ์ฒ๋ผ ๋ณด์์ต๋๋ค.
๋ค์์ ๊ฐ๋ตํ ํ์ ๋ผ์ธ์ ๋๋ค.
2014 ๋ 12 ์ 16 ์ผ :
์ง์ ํจํค์ง ๋ฑ์ ํ์์ ํตํด VB, F # ๋ฑ๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ถ๊ฐ ํ ์ ์๋๋ก ํ์ฅ ํฌ์ธํธ๋ฅผ ๊ฐ์ง ๊ณํ์ ๋๋ค.
https://github.com/aspnet/Home/issues/236#issuecomment -67046039
2015 ๋ 4 ์ 25 ์ผ :
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ข์ ์์์ ๋๋ค! ASP.NET 5 / DNX์์ VB๋ฅผ ์ง์ํ ๊ณํ์ ๋ฐํํ์ต๋๋ค!
https://github.com/aspnet/Home/issues/236#issuecomment -96003847
์ค๋ ASP.NET 5๊ฐ Visual Basic (๋๊ตฌ ๋ฐ ๋ฐํ์ ๋ชจ๋ โ ํฌ๋ก์ค ํ๋ซํผ ๋ฐํ์ ์ง์ ํฌํจ)์ ์๋ฒฝํ๊ฒ ์ง์ํ ์์ ์์ ๋ฐํํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค.
https://blogs.msdn.microsoft.com/webdev/2015/04/24/making-it-better-asp-net-with-visual-basic-14/
2016 ๋
11 ์ 19 ์ผ :
VB ์ง์์ด ๋ก๋๋งต์์ ์ฌ๋ผ์ง๋๋ค.
|1.0.4|Feb 2017|
|1.2|Q2 2017|
-## Future Work
-
-Visual Basic support.
-
<em><sup>*</sup> References to yearly quarters (Q1, Q2, Q3, Q4) are calendar-based</em>
2017 ๋ 12 ์ 12 ์ผ :
ASP.NET Core ์ฉ VB ํ ํ๋ฆฟ์ ์ถ๊ฐ ํ ๊ณํ์ด ์์ต๋๋ค.
https://github.com/aspnet/Home/issues/2305#issuecomment -351501913
VB ์ง์์ด ์ฌ๋ผ์ง ๊ฒ ๊ฐ์ต๋๋ค.
"์์ง ์๋ํ์ง ์์ง๋ง VB๋ฅผ ํ์ฉ ํ ๊ณํ์ ๋๋ค."
...์
"VB์ ๋ํ ์์ ํ ์ง์์ด์์ ๊ฒ์ ๋๋ค!"
...์
"VB๋ ์ง์๋์ง ์์ง๋ง ์ฟ, ์๋ฌด์๊ฒ๋ ๋งํ์ง ๋ง์ญ์์ค".
๊ทธ๋์ ๋ด ์ฒซ ๋ฒ์งธ ์ง๋ฌธ์ :
๊ณต์ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์์ ASP.NET Core์ VB.NET์ ๋ํ ์ง์์ ๋ฐํ ํ ํ ํผ๋๋ฐฑ ์์ด๋ ์ ํ ์ง์ํ์ง ์๋ ๊ฒ์ด ์ด์ํด ๋ณด์ ๋๋ค. ์ด์ ๋ํ ๋ฐํ๊ฐ ์์์ต๋๊น? ์์๋ค๋ฉด ํ์คํ ๋๋ฆฌ ์ถํ๋์ง๋ ์์์ต๋๋ค.
๋์ ๋ค์, ๊ทธ๋ฆฌ๊ณ _ ๋ ์ค์ํ _ ์ง๋ฌธ์ :
์ฐ๋ฆฌ๊ฐ ์์ฑํ ์์๋ ํ๋ก์ ํธ ํ
ํ๋ฆฟ์ด ์์ต๋๊น?
๊ตฌํํ ์์๋ ์ฝ๋ ์์ฑ๊ธฐ๊ฐ ์์ต๋๊น?
ASP.NET Core๋ฅผ VB ๊ฐ๋ฐ์์๊ฒ C # ๊ฐ๋ฐ์๋งํผ์ด๋ ๋ฉ์ง๊ฒ ๋ง๋ค ์์๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น?
.NET Core ์ฝ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ณ , ํ๋ก์ ํธ ํ์ผ์ ํธ์งํ๊ณ , ASP.NET Core C #์์ ์์ฑ ๋ ํด๋์ค๋ฅผ ๋ณต์ฌํ์ฌ VB์์ ๊ฐ๋จํ ASP.NET Core ์ฑ (๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์ค๋ ๋์๊ธฐ ๋๋ฌธ์ ์ญ์ ๋ ๋งํฌ)์ ํจ๊ป ๋ง๋ค์์ต๋๋ค. ์ฃผํ. ์ ์๋ํ๊ณ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ด์ง๋ง VB.NET์ด ์ง์๋์ง ์๋ ์ด์ ๋ฅผ ์ ์ ์์ต๋๋ค.
cc @DamianEdwards
Razor repo ์์ .cshtml
์ ํจ๊ป VB๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์ค๋ซ๋์ ๋ฌธ์ ๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. ๊ทธ ์ดํ๋ก ์ด๋ค ์์
๋ ๋ณด์ง ๋ชปํ์ต๋๋ค ๐.
๋ด๊ฐ ์ ์ ๋ช ์ฃผ๋ hyprid VB ASP.NET ํต์ฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ณด์ฌ @DamianEdwards์์ ์ข์ ์๋ฅผ๋ณด๊ณ ์ฌ๊ธฐ
@reduckted ํ๋ฅญํ ์์ฝ ์ธ์๋ ASP.NET Core ์ฉ
Visual Basic ๊ตฌ๋ฌธ์ ๋๊ดํธ ๋์ ์ ๋ค๋ฆญ ํ์ ๋งค๊ฐ ๋ณ์๋ฅผ ๊ดํธ๋ก ๋ฌถ๊ธฐ ๋๋ฌธ์ .vbhtml Razor ํ์ผ์๋์ด ์ ํ์ด ์ ์ฉ๋์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ ScottAddie @ MSFT ๋ 2017-07-21์ ๋๊ธ์ ๊ฒ์ํ์ต๋๋ค.
ASP.NET Core๋ ์์ง VB.NET์ ์ง์ํ์ง ์์ต๋๋ค. ์ง๊ธ์ ASP.NET์ ๊ณ ์ํด์ผํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด Visual Basic / vb.net / .vbhtml ํ์ผ์ด .Net Core์ ํฌํจ๋ ์์ ์ ๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ธ์ ??
์ด๋ฌํ ์ง์์ด ์ด๋ฃจ์ด ์ง๋๋ก ์ด๋ป๊ฒ ๋์ ๋๋ฆด๊น์? VB.Net ๋ฐ F # ์ง์์๋ณด๊ณ ์ถ์ต๋๋ค!
ASP.NET Core ๋ฌธ์์์ VBHTML ์ฐธ์กฐ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด PR์ ๋ณด๋์ต๋๋ค : https://github.com/aspnet/Docs/pull/5201
ํ์ฌ ASP.NET Core์ VBHTML ์ง์์ ๋์ ํ ๊ณํ์ ์์ต๋๋ค.
.NET Core SDK์ ์ผ๋ถ๋ก ์ค์น๋๋ ASP.NET Core ์ฉ F # ํ ํ๋ฆฟ์ด ์์ต๋๋ค.
@Eilon ํ์ฌ ASP.NET Core์ VBHTML ์ง์์ ๋์ ํ ๊ณํ์ ์์ต๋๋ค.
๊ฐ์ธ์ ์ผ๋ก ์ ๋ Razor ํ์ด์ง๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์๋ํ์ง ์๊ธฐ ๋๋ฌธ์ VBHTML ์ง์์ ๋ํด ๊ฑฑ์ ํ์ง ์์ต๋๋ค. @AnthonyDGreen (https://github.com/dotnet/vblang/issues/238#issuecomment-354927626)์์ ์ธ๊ธํ๋ฏ์ด MVC 5์์ ๊ฑฐ์ ์ฌ์ฉ๋์ง ์์๊ธฐ ๋๋ฌธ์ VB ์ง์์ ์ถ๊ฐํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๋๋ ๋ง์ ์ด๋์ ์ป์ง ๋ชปํ๊ธฐ ์ํด ๋งค์ฐ ๋ง์ ์์ ์์ ์ด ํ์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
@Eilon .NET Core SDK์ ์ผ๋ถ๋ก ์ค์น๋๋ ASP.NET Core ์ฉ F # ํ ํ๋ฆฟ์ด ์์ต๋๋ค.
์ข์์,ํ์ง๋ง ๋น์ ์ ์์ ์ด ์ฌ๊ธฐ์ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ด๊ฒ์ด VB ํ ํ๋ฆฟ๋ ์์ด์ผํ๋ค๋ ์ฌ์ค์ ๊ฐํํ์ง ์์ต๋๊น?
F # ์ปค๋ฎค๋ํฐ์์ ๋ง๋ F # ํ ํ๋ฆฟ์ด ์๋๊ฐ์? Microsoft ํ์ด VB ํ ํ๋ฆฟ์ ๋ง๋ค์ง ์๋ ๊ฒฝ์ฐ VB ์ปค๋ฎค๋ํฐ์์ VB ํ ํ๋ฆฟ์ ๋ง๋ค ์์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
@reduckted ์ง๋ฌธ์ ์ด๊ธฐ ๋น์ฉ๊ณผ ์ง์์ ์ธ ๋น์ฉ ๋ชจ๋์ ๋ํ ์์์ ๋น์ฉ์ ๋ฌ๋ ค ์์ต๋๋ค. ์์ ์ธ๊ธํ๋ฏ์ด ์์๋ ๋งค์ฐ ๋ฎ์์ต๋๋ค. ์ด๊ธฐ ํ ํ๋ฆฟ ์งํฉ์ ๋ง๋๋ ๋ฐ ๋๋ ๋น์ฉ์ ๋ง์ง ์์ ์ ์์ง๋ง ๋๊ตฐ๊ฐ ์ ์ง ๊ด๋ฆฌํด์ผํฉ๋๋ค. F #์ ์ฌ์ฉํ๋ฉด ์ ์ง ๊ด๋ฆฌ์ ์ ๋ ํ๋ Microsoft ์ง์์ด ์์ต๋๋ค. ํ์ฌ VB๋ฅผ์ํ ๊ทธ๋ฐ ์ฌ๋๋ค์ด ์์ต๋๋ค.
๋ํ F # ํ ํ๋ฆฟ์ ํ ๊ฐ์ง ์ ํ์ API ์ธก๋ฉด์ ๋ ์ง์คํ๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, Razor ๋๋ CSHTML์ด ์์ต๋๋ค (FSHTML์ด ์๊ธฐ ๋๋ฌธ์). VB ์ฌ์ฉ์์ ๊ฒฝ์ฐ VB๋ฅผ ์ฌ์ฉํ๋ ๋๋ถ๋ถ์ ์ฌ์ฉ์๋ MVC์ ๋ํ VBHTML ๊ฒฝํ์ ๊ธฐ๋ํ ์ ์์ผ๋ฉฐ ์ ์ ๋น์ฉ์ ์๊ฐ์ ๋ฐ ์๊ฐ์ ์์ ์ ๋๋ค. ๋ฐ๋ผ์ ์ ํ๋ VB ํ ํ๋ฆฟ์ ์ถ๊ฐํ๋ ๊ฒ์ด ํนํ ๊ฐ์น๊ฐ ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํ์ง ์์ต๋๋ค.
@Eilon VB ์ฌ์ฉ์์ ํจ๊ป ๋ด ์๊ฐ์ VB๋ฅผ ์ฌ์ฉํ๋ ๋๋ถ๋ถ์ ์ฌ์ฉ์๋ MVC์ ๋ํ VBHTML ๊ฒฝํ์ ๊ธฐ๋ํ ๊ฒ์ ๋๋ค.
@AnthonyDGreen ๊ณผ ๋ํํ๊ณ ์ถ์ ์ ์์ต๋๋ค. ์ด๋ฒ์๋ ์ธ์ฉํ๊ฒ ์ต๋๋ค (๊ฐ์กฐ๋ ์ ๊ฒ์ ๋๋ค).
MVC 5์ .vbhtml ๋ฉด๋๊ธฐ ์์ง์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ VB ์น ํ๋ก์ ํธ์ 1 % ๋ฏธ๋ง์ด 5 ๊ฐ ๋ฒ์ ์ดํ์
@reduckted- ํฅ๋ฏธ ๋กญ์ต๋๋ค, ๊ทธ๊ฒ์ ์ ์๊ฒ ๋ด์ค์ ๋๋ค. ์ฒ์์๋ VB ๊ฐ๋ฐ์ (ํนํ VB6)์๊ฒ ์ต์ํ ๊ฐ๋ ์ผ๋ก ๋์์ธ ๋ Web Forms ์๋๋ก ๋์๊ฐ์ Web Forms๋ ๋งค์ฐ HTML ์ค์ฌ (sorta)์ด๋ฏ๋ก VBHTML์ด ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๊ฒ๋์์ต๋๋ค. ๊ทธ ๊ทธ๋ฃน์ ์ฌ๋๋ค์๊ฒ ๊ฐ์ฅ ํฅ๋ฏธ ๋กญ์ต๋๋ค. ๋ค์, ๊ทธ๊ฒ์ ~ 15 ๋ ๋ ์ผํ ๋ฐ์ดํฐ์ ๋๋ค ๐
BTW๋ฅผ ๋ช ํํํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ๊ฒฐ์ฝ ๊ทธ๋ ๊ฒํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ์ง ์์์ต๋๋ค. ๋จ์ง ํ์ฌ ์ด๋ค ๊ณํ์๋ ์์ต๋๋ค.
์ ๋ VB ํฌ์
๋๋ค ๐, .vbhtml
์ (๋) ์ฆ์ ์ฌ์ฉํ ์์์ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ์ด์ ์ ์ธ๊ธ ํ ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋ VB ์ฌ๋๋ค์๊ฒ ์ถฉ๋ถํ์ง ์์ง๋ง ์ผ๋ถ ๊ฒฝ์ฐ์๋ ๊ด์ฐฎ์ต๋๋ค. ๋ด ์ง๋ฌธ์ C # ๋์ VB๋ฅผ ๋ฐฉ์ถํ๊ธฐ ์ํด Razor
๋ฅผ ๋ค์ ๊ตฌํํ๋ ๊ฒ์
๋๋ค. ๋๋ MVC๊ฐ cshtml
C #์ ๋จ๋จํ ๊ฒฐํฉ๋์ด ์์ต๋๊น?
@hishamco ๋ถํํ๋ Razor๋ VB์ C #์ด ๋ณ๋์ ๊ฒฝ๋ก๊ฐ๋๋๋ก ๊ตฌํ๋์์ต๋๋ค. ๋๋ ๊ด๋ จ๋ ๋ช๋ช ์ฌ๋๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋์๊ณ ๊ทธ๊ฒ์ ๊ฝค ํฐ ํ๋ก์ ํธ์ ๋๋ค.
@KathleenDollard .pug ๋ฐ .md ํ์ผ ํ์์ ๋ํ ์ฌ์ฉ์ ์ง์ ViewEngine์ ์ง์ํ๋ ๋ค๋ฅธ .NET Core ํ๋ก์ ํธ๊ฐ ์์ต๋๋ค.
ํ์คํ ์ฐ๋ฆฌ๋ <Project Sdk="Microsoft.NET.Sdk.Web">
์ ํจ๊ป .vbproj๋ฅผ ์ฌ์ฉํ์ฌ .vbhtml razorpages ํ์ผ์์ ์๋ํ๋๋ก ๋ง๋ค ์ ์์ต๋๋ค.
@ tb-mtg ๋น์ ์ด ๊ทธ๊ฒ์ ํํํ๊ณ ๊ทธ ํ๋ก์ ํธ๊ฐ ๋ฌด์์ํ๋์ง ํ์ธํ๊ณ ์ถ๋ค๋ฉด ๊ทธ๊ฒ์ ๋ชจ๋ ์คํ ์์ค์ ๋๋ค. ๊ทธ๊ฒ์ ์ด ์ฌ๋๋ค์ ๊ทธ๊ฒ์ด ํฐ ๋ ธ๋ ฅ์ด๋ผ๊ณ ๋งํ์ต๋๋ค. ๋ ธ๋ ฅ์ ๊ท๋ชจ์ ์ด์ ๋ฒ์ ์ MVC์์ vbhtml์ ์ฑํ๋ฅ ์ด ๋งค์ฐ ๋ฎ๊ธฐ ๋๋ฌธ์ ํ๋งค๊ฐ ์ด๋ ค์์ก์ต๋๋ค.
@KathleenDollard ๋๋ ๋ด ์ง๋ฌธ์ ๋ค์ ๋ฐ๋ณต ํ ๊ฒ์ ๋๋ค .C # ๋์ VB๋ฅผ ๋ฐฉ์ถํ๋๋ก Razor๋ฅผ ๋ค์ ๊ตฌํํ๋ฉด ์๋ํฉ๋๊น, ์๋๋ฉด MVC๊ฐ cshtml C #์ ๋จ๋จํ ๊ฒฐํฉ๋ฉ๋๊น?
@rynowak ์๊ฒ ์ข์ ์ง๋ฌธ์ด ๋ @hishamco . ๋ผ์ด์ธ?
MVC์ ๋ฐํ์ ์ปดํ์ผ ์์ง์ C # ์ปดํ์ผ์ ์ํด Roslyn ์ธํ๋ผ๋ฅผ ์ฌ์ฉํ๊ณ .deps.json
ํตํด ์ ๋ฌ๋๋ C # ํ๋ก์ ํธ ์์คํ
์ ์ค์ ์ ์์ / ์๊ตฌํฉ๋๋ค. MVC๋ ์์ฑ๋๋ ์ฝ๋์ ๋ฐ์ ํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์ง ์์ง๋ง C # ํ๋ก์ ํธ์์ ์์ฑ ๋ ์ค์ ์ ์ฌ์ฉํ์ฌ ๋ฐํ์์ C # ๋ทฐ๋ฅผ ์ปดํ์ผํ๊ธฐ์ํ ์ธํ๋ผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ฐํ์์ VB๋ฅผ ์ปดํ์ผํ๋ ค๋ ์ฌ๋์ ๋๊ตฌ๋์ด๋ฅผ ์ํํ๋ ๋ทฐ ์์ง์ ๊ตฌํํด์ผํฉ๋๋ค.
@rynowak ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
Roslyn ์ธํ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ C #์ ์ปดํ์ผํ๊ณ .deps.json์ ํตํด ์ ๋ฌ ๋ C # ํ๋ก์ ํธ ์์คํ ์ ์ค์ ์ ์์ / ์๊ตฌํฉ๋๋ค.
VB ๋ทฐ ์์ง์ ๊ตฌํํ๊ฑฐ๋ ์์ ๋ C # ์์ง์ ๋ณต์ ํ๋ ๊ฒฝ์ฐ .deps.json
์ ์ ๋ฌํด์ผํ๋ ์ค์ ์ ๋ฌด์์
๋๊น?
+1
Visual Basic์ ํญ์ .NET ์ธ๊ณ์์ ๊ฐ์ฅ ์ค์ํ ์ธ์ด์
๋๋ค. VB๋ ์ง๊ธ๋ ๋ง์ ํฌ๊ณผ ์ฌ์ฉ์ค! ๋ง์ ์ฌ๋๋ค์ด ์์ ์ ์ง์ฅ์์ C # ํ๋ก์ ํธ์์ ์ผํ์ง๋ง ์ ๊ฐ์ ๋ง์ ์ฌ๋๋ค์ด ์์ ์ ํ๋ก์ ํธ์์ VB๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ข์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํธ์ ๋ด์ ๊ฐ๊ธฐ
MVC 5์ .vbhtml ๋ฉด๋๊ธฐ ์์ง์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ VB ์น ํ๋ก์ ํธ์ 1 % ๋ฏธ๋ง์ด 5 ๊ฐ ๋ฒ์ ์ดํ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Core๋ก ์ด์๋์ง ์์์ต๋๋ค.
๋๋จธ์ง 99 %๋ ๋ฌด์์ ์ฌ์ฉํฉ๋๊น?
Angular ๋๋ ๋ค๋ฅธ ์ ์ฌํ ํ๋ฐํธ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๊ฒ ์ ๊ฐ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ฌ์ค ๊ทธ๊ฒ์ ๋ํ ASP.Net MVC Razor์์ Angular๋ก ์ด๋ํ๋ ์๋ก์ด ์น ํ๋ก์ ํธ๋ก ํ ๊ณํ์ ๋๋ค. ์ฌํด 4 ๊ฐ์ ์๋ก์ด ์น ํ๋ก์ ํธ๋ฅผ ์ํํด์ผํฉ๋๋ค.
VB๋ ์๋ ๋์ ์ธ๊ธฐ์๋ ์ธ์ด์์ต๋๋ค! ํ์ฌ๋ก์ ์ฐ๋ฆฌ๋ ํ์คํ C #์ผ๋ก ๋ค์ ์์ฑํ๊ณ ์ถ์ง ์์ ๋ง์ ์ฝ๋ ์กฐ๊ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ํนํ ์๋ก์ด EU ๊ท์น์ด ์ ์ฉ๋ ๋ ๋ค์ ์์ฑ ๋ ๊ตฌ์ ์น ์์ ์ฑ์ด ๋ง์ด์์ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ VB๊ฐ ๋งค์ฐ ์ํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค! ๋๋ ๋ง์ดํฌ๋ก ์ํํธ๊ฐ VB์์ 1 โโ๋ถ ๋์ ๋๋ฌด ๋จ๊ฒ๊ณ ์ฐจ๊ฐ๊ฒ ๋ ์๊ฐ๋ ๊ฒ์ด ๋๋์ต๋๋ค. ์, ์๋ก์ด ์ธ์ด์ ํ๋ ์ ์ํฌ๊ฐ ๋์ค๊ณ ์์ง๋ง ์ธ๊ธฐ์๋ ์ค๋๋ ์ธ์ด๋ฅผ ๋ฒ๋ฆฌ์ง ๋ง์ญ์์ค!
์ฌ๊ธฐ์์ ์ถ์ ๋๊ณ ์์ด ๋คํ์ ๋๋ค. ๊ทธ ๋ ๋ช ๊ฐ์ง ์กฐ์น๋ฅผ ์ทจํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
MS์ ๋ชจ๋ ๊ธฐํธ (์กฑ์ ๋น ๋จ์ด)๋ VB.NET์ ๋ฒ์ด๋ฆฌ๋ก ๋ง๋ค ๊ณํ์ด๋ฉฐ / ๋๋ ์๋ฌด๊ฒ๋ํ์ง ์๊ณ ๋ค๋ฅธ ์ฌ๋์ด ๋๋ฝ ๋ ๋นํธ๋ฅผ ์ธ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค๋ ๊ฒ์ ๋๋ค. ๋๋ ๊ทธ๋ค์ ์กฑ์ ๋น ๋ง์ ๋๋๊ณ ์ง๊ธ VB.NET ๊ฐ๋ฐ์ ์ข ๋ฃํ๊ณ ์์ต๋๋ค.
๋๋ ๋ง์ดํฌ๋ก ์ํํธ๊ฐ GitHub๋ฅผ ์ธ์ํ์ ๋ VB.Net์ดํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋์ฐ๋ฅผ๋ฐ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@NatShaw ์ ๋ Visual
๋๋ ๋น์ ์ด VB.NET์ ๋ฉ์ฒญํ๊ฒ ๊ณํํ๋ ๊ฒ์ ๋ํด ๋ฌด์์ ์๋ฏธํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ทธ๋ ๊ฒ ํ ๊ณํ์ ์์ต๋๋ค. Visual Basic ์ธ์ด ์ ๋ต ์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
VB ์ฉ Razor๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ฃผ์ ๊ฐ๋ฐ ์ํฌ ํ๋ก์ ๊ฒฝ์ฐ WebAPI๋ ์ฌ๊ธฐ์ ํ์๋๋๋ก VB๋ฅผ์ํ ํ๋ฅญํ ์ํฌ ํ๋ก์ ๋๋ค. (ํ ํ๋ฆฟ ์ ์ธ)
@ tb-mtg VB.Net์ ์ฃฝ์ ์ํ๋ก ๋จ์ ์์ง ์์ต๋๋ค. ์ง์์ ์ธ ๊ฐ์ ์ด ์์ต๋๋ค. ์ธ์ด๊ฐ ์ฝ๊ฐ ๊ฐ์ ๋๊ณ IOperation์ฒ๋ผ ์๋ํ์ฌ Roslyn ๋ถ์๊ธฐ์์ Visual Basic์ ์ง์ํ์ฌ ์์ฝ ์์คํ ์ ์ฒด์์ VB๋ฅผ ์ฝ๊ฒ ์ง์ํ ์ ์์ต๋๋ค. VB๊ฐ ๋ชจ๋ ์๋ก์ด ์๋๋ฆฌ์ค๋ณด๋ค๋ ์ด๋ฏธ ์ข์ ์๋๋ฆฌ์ค์ ์ ์ ํ ์๋ก์ด ์๋๋ฆฌ์ค์ ์ด์ ์ ๋ง์ถ๋ ๊ฒ์ ์ฌ์ค์ ๋๋ค. ์๋ฅผ ๋ค์ด Scott Hunter๋ ์ด๋ฏธ VB.Net์ด .NET Core 3์์ ์๋ํ๋ค๊ณ ๋ฐํํ์ต๋๋ค.
@KathleenDollard Pieces๊ฐ ์ด๋ฏธ ๋๋ฝ๋์์ต๋๋ค 2.x- ๋ชจ๋ VB ํ ํ๋ฆฟ์ ์ด๋์ ์์ต๋๊น? Nullable ์ฐธ์กฐ ์ ํ? C # ์ ์ฉ์ ๋๋ค. ๋ฏธ๋ ๊ณํ์ ๋ฏธ๋๋ฅผ ์ํด ํ๋ฅญํ์ง๋ง VB๋ ์ด๋ฏธ ๋ฌด์ธ๊ฐ๋ฅผ ๋์น๊ณ ์์ต๋๋ค.
์ด๊ฒ์ Microsoft๊ฐ ํ๋ฅญํ ๊ธฐ์ ์ ๋ง๋ค๊ณ ํฌ๊ธฐํ๋ ํ ๋ง์ ๋๋ค. ๊ทธ๋ค์ ํ์ฌ๋ฅผ ๋ง๋ ์ธ์ด ์ธ VB๋ฅผ ๋ฒ๋ฆฌ๊ณ C # ์ ์ฉ ์์ ์ด๋๊ณ ์์ต๋๋ค. ์๋ก์ด ๊ธฐ์ ์ด ๋์ ๋๋ฉด ๋ชจ๋ ์ธ์ด๊ฐ ์ง์ ๋ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค. ์ํ๊น๊ฒ๋์ด ์๋ก์ด Microsoft๋ ๋ชจ๋ ์ธ์ด๋ฅผ ๋๋ฑํ ํํธ๋๋ก ์ ์งํ๋ ๋ฐ 15 ๋ ์ ์ฒ๋ผ ์ข์ ์ผ์ํ์ง ๋ชปํฉ๋๋ค. ๋๋ฌด ๋์๋ค. ๋๋ ์๋ง ์ค์ VB๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ asp.net ์ฝ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํฌ๋ก์ค ํ๋ซํผ์ ์ฌ์ฉํ๊ธฐ๋ฅผ ํฌ๋งํ์ต๋๋ค. ์ด์ asp.net ์ฝ์ด์ ๋ฒ๋ ค์ง ์น ์์์ด ์๊ณ VB๊ฐ ์์ต๋๋ค. ์ธ์ด๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ??. ๋ด๊ฐ ๋ ธ๋ ฅํ๋ค๋ฉด ์ธ์ด ๋ณ๊ฒฝ์ ๋ง์ดํฌ๋ก ์ํํธ ์ด์ธ์ ๋ค๋ฅธ ๊ฒ์ด ๋ ๊ฒ์ด๊ณ , ๋ชจ๋ ํ๋ซํผ์ ์ง์ํ๋๋ก ๋ง๋ค์ด์ง ์ธ์ด๊ฐ ๋ ๊ฒ์ ๋๋ค. ๋๋ ์์ฃผ ์ข์ VB ๊ฐ๋ฐ์๋ผ๋ ์ด์ ๋ก ํ ์ธ๊ณผ ํด์์ ์ง์ณค๋ค. Microsoft ํ๋ซํผ ๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ๊ณ ํ๋งค ํ ์ง 30 ๋ ์ด ์ง๋๋ฉด ํ์ฌ์ ์ฝ๋๋ฅผ ๊ฐ์ ธ ์์ Microsoft๋ฅผ ๋ ๋ ๋๊ฐ๋์์ต๋๋ค. VB์ ๋ํ .net ๊ด๋ฆฌ์ ๊ฒธ์ํ ํ๋๊ฐ ๋๋ฌด ์ปค์ง๊ณ ์์ต๋๋ค. ์์ฆ์๋ ๋ง์ดํฌ๋ก ์ํํธ์์ ๋๋ฌด๋ ์ค๋งํ VBers๊ฐ ์ฌ์ ํ ๋๋ฌด ๋ง์ต๋๋ค. VB๊ฐ ์คํ ์์ค๋ก ๋ง๋ค์ด์ ธ ์ปค๋ฎค๋ํฐ๊ฐ ๋ชจ๋ ํ๋ซํผ์์ ๋ฐ์ ์ํฌ ์ ์๋ค๋ฉด ๋ ์ข์ ๊ฒ์ ๋๋ค.
@SrqComputerguy ๊ทธ๋ค์ VB๋ฅผ ํฌ๊ธฐํ๊ณ ์์ต๋๋ค
์๋ชป๋. @KathleenDollard ๋ ๋ฌธ์ ๊ทธ๋๋ก _ ํ๋ฃจ ์ _ _์ด ์ค๋ ๋ _์์ "The Visual Basic ์ธ์ด ์ ๋ต์ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค."๋ผ๊ณ ๋งํ์ต๋๋ค. (๋ ผํ)
@SrqComputerguy ๋๋ฌด ๋์๋ค, ๋๋ ์๋ง ์ค์ VB๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ asp.net ์ฝ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํฌ๋ก์ค ํ๋ซํผ์ผ๋ก ๊ฐ๊ณ
์น ์์์ ์ค๋๋ ๊ธฐ์ (์ค์ ๋ก ์ํํธ์จ์ด ํ์ค์ ์ํด ์ค๋๋จ)์ด๋ฏ๋ก .NET Core (VB.NET _or_ C # ์ฌ์ฉ)์์ ์ง์๋์ง ์๋๋ค๋ ๊ฒ์ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค. ASP.NET Core์์ VB.NET์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ด๋ฒ ์ฃผ ์ด์์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ ์ ์ฐธ์กฐํ์ธ์.
@SrqComputerguy ์ ๊ฐ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ด๋ฉด ์ธ์ด ๋ณ๊ฒฝ์ Microsoft ์ด์ธ์ ๋ค๋ฅธ ์ธ์ด๊ฐ ๋ ๊ฒ์ด๊ณ ๋ชจ๋ ํ๋ซํผ์ ์ง์ํ๋๋ก ๋ง๋ค์ด์ง ์ธ์ด๊ฐ ๋ ๊ฒ์ ๋๋ค .
VB.NET _is_ ํฌ๋ก์ค ํ๋ซํผ, ์น ์์์ด ์๋๋๋ค.
@SrqComputerguy VB๊ฐ ์คํ ์์ค๋ก ๋ง๋ค์ด์ ธ ์ปค๋ฎค๋ํฐ๊ฐ ๋ชจ๋ ํ๋ซํผ์์ ๋ฐ์ ์ํฌ ์ ์๋ค๋ฉด ๋ ์ข์ ๊ฒ์ ๋๋ค.
๐ ๊ทธ๋ ์ต๋๋ค. https://github.com/dotnet/vblang
@reduckted C #์๋ 'ASP.NET Core Web Application'ํ ํ๋ฆฟ์ด ์์ง๋ง VB์๋ ์์ต๋๋ค. ๊ทธ ๋ง์ต๋๊น? nullable์ด ์๋ ์ฐธ์กฐ ์ ํ-VB ์ฉ์ด ์๋๋๋ค.
์ ๋ต์ ์ด๋ฏธ VB๊ฐ ๋ ์ด์ 1 ๋ฑ ์๋ฏผ์ด ์๋๋ผ๋ ๊ฒ์ ๋๋ค. @KathleenDollard ๋งํฌ ๊ธฐ์ฌ๋ ๋ค์ ๋ชจ์์ ์ด๋ฉฐ, ์ด๋ฌํ ๋ฐ์ง์ด๋ ์ ๊ธฐ๋ฅ์ VB ์ฝ๋๋ฅผ ๋๋ฌด ๋ณต์กํ๊ฒ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ์๊ฒ ์ข์ง
๋๋ฌ์ด. ๊ทธ๋ค์ ๊ทธ๊ฒ์ ๋ฐ๋ณด๋ก ๋ง๋ค๊ณ ์์ต๋๋ค.
์ค๋๋ ๊ธฐ์ ์ด ์ ์ฉํ์ง ์๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. WebFroms๋ SEO๊ฐ ํ์ํ์ง ์์ง๋ง ํฌ๋ก์ค ํ๋ซํผ์ด ํ์ํ LOB (๊ธฐ๊ฐ ์ ๋ฌด) ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค. WebForm์ winform ๋ฒ์ ์ ๋ชจ์๊ณผ ๋๋์ ๋น์ทํ๊ฒ ๋ง๋ค๊ณ ์๋ํฉ๋๋ค. ๋ํ ์ ์๋ํ๋ ๋ง์ ๋น์ฆ๋์ค ์๋๋ฆฌ์ค๊ฐ ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด C # MVC angular.js ์์ฉ ํ๋ก๊ทธ๋จ ์ผ ํ์๋ ์์ผ๋ฉฐ ๊ทธ๋ด ํ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด MS๊ฐ ํ์ฌ ๊ฐ์ ํ๊ณ ์๋ ์ ์ผํ ๋๊ตฌ์ ๋๋ค.
Razor ํ์ด์ง (.net ์ฉ์ผ๋ก ์ ๋ฐ์ดํธ ๋ ASP ํ์ด์ง)๊ฐ VB๊ฐ ์๋ ์ฝ์ด์์ C #์ ์ข์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
MS๋ Mono ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ ํ์ฌ C #์ ๋จผ์ ์ง์ํ๊ณ ํ์ธ์ ๋ฐ์์ผ VB์์ ์ฌ๋์ ์ป์ต๋๋ค.
MS๋ VB๋ณด๋ค Python์ ๋ ๋ง์ ์ฌ๋์์ฃผ๊ณ ์์ต๋๋ค. Python์ C # ๋๋ VB๋ณด๋ค ํฌ๋ก์ค ํ๋ซํผ ์ธ์ด์ ๊ฐ๊น์ต๋๋ค.์ด ์ธ์ด๋์ด VBer๊ฐ ์์ผ๋ก ๊ฐ ๊ฒ์ ๋๋ค.
์ฌํ๊ฒ๋ MS๋ ์์ง๊น์ง ๋ผ์ธ์ ๋์ ์๋ ค์ฃผ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๋ ์ธ์ด์ ์์กดํ๊ณ ์์ต๋๋ค.
MS๋ ๋ ์ด์ VB ํ์ ๋ณด์ ํ๊ณ ์์ต๋๊น? ๊ทธ๋ค์ ์น ์กด์ฌ๊ฐ ์์ต๋๋ค. ๋ฐ์ ์ ์ํด ์ฐ๋ฆฌ๋ ๋ค๋ฅธ ๊ณณ์ ์ฐพ์์ผ ํ ๊ฒ์ ๋๋ค.
์ง์๋๋ ๋์ ์ข์์ต๋๋ค. VB RIP.
์๋ ํ์ธ์,
Microsoft์ ๋๊ตฐ๊ฐ๊ฐ ๋ฉด๋๊ธฐ ๋ทฐ (.net ์ฝ์ด)์์ VB๋ฅผ ์ปดํ์ผํ๋ ค๋ ๋ ธ๋ ฅ์ ์ฌ๊ณ ํ ์ ์์ต๋๊น? ๋๋ ํ๋ก์ ํธ blazor๊ฐ ์๋ก์ด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํด vb์์ ๋ง์ ๊ธฐ์กด ์ฝ๋๋ฅผ ๊ณต์ ํ๋ ์๋ก์ด ๋ฐฉ๋ฒ์ ๊ฐ๋ฅํ๊ฒํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
VB .NET์ C #์์ ํ ์์๋ ๊ฒ๊ณผ ๋์ผํ ์์ ์ ์ํ ํ ์ ์๊ธฐ ๋๋ฌธ์ ํ ๋ฒ ๋ ์ธ๊ธฐ๊ฐ์์์ต๋๋ค. vb๊ฐ ๋จ์ผ๋ฉด ๊ทธ ์ธ๊ธฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋๋ผ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๋งค์ฐ ํฐ VB winforms ์ฑ์ ์น ์ฑ์ผ๋ก ์ด์ํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ JS๋ก ํ๋ ์ ์ํฌ๋ฅผ ๋ค์ ์์ฑํ๋ ๋ฐฉ์์ 50 %๊ฐ ์์ง๋ง blazor๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๋น ๋ฅด๊ณ ๊น๋ํ๋ฉฐ ๊ธฐ์กด ์ฝ๋๋ฅผ ๋ง์ด ๊ณต์ ํ ์ ์์ต๋๋ค. C # ๋์ VB๋ก ๋ทฐ๋ฅผ ์ฝ๋ฉ ํ ์ ์๋ค๋ฉด ๋ฉ์ง ๊ฒ์ ๋๋ค. ๋ชจ๋ ๊ฒ์ด MVC์ ๋ฉด๋๊ธฐ๋ ์๋๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ธ๋ ์ด์ ์ ์ง์คํ๋ฉด ๋ ธ๋ ฅ์ด ์ค์ด๋ค ์ ์์๊น์?
๋ช ๋ ๋์ ์ต์ ๋ฐ ๋ ๊ฑฐ์ VB ์ฝ๋๋ก ์์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ์ฅํฉํจ์ด ์ฌ๋ผ์ง ๋๊น์ง ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค. Microsoft๊ฐ ํ ๊ฐ์ง ์คํ์ผ์ ์ธ์ด (C)์ ์ง์คํ๋ ๊ฒ์ด ํ๋ช ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@mcurros
Razor ์ง์์ด ๊ณ ๋ ค๋๊ณ ์ฌ๊ฒํ ๋์์ต๋๋ค.
๋งค์ฐ ํฅ๋ฏธ๋กญ์ง ๋ง ํ์ฌ Blazor๋ ์ ํ ๊ณํ์ด์๋ ์คํ์ ์ธ ๋ ธ๋ ฅ์ ๋๋ค. Blazor๊ฐ ์ ํ์ด๋๋ค๋ฉด VB์ ์ด์ผ๊ธฐ๋ฅผ ์ฌ๊ณ ํ ๊ฐ์น๊ฐ ์๋ค๋ ๋ฐ ๋์ํ๋ฉฐ ๊ทธ๋ด ๊ฒ์ด๋ผ๊ณ ๊ธฐ๋ํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ VB ์ง์๊ณผ ๊ด๋ จ๋ ์ ๋ต์ด ๋ณ๊ฒฝ๋๋์ง ์ฌ๋ถ๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ธ ๊ฐ์ง ์ง๋ฌธ :
.NET Core 3์ผ๋ก ์ด๋ํ๋ WinForms์ ๋ํ ๋ฐํ๊ฐ WinForms ์ฝ๋๋ฅผ ์ด์ํ๊ธฐ๋ก ํ ๊ฒฐ์ ์ ์ฌ๊ณ ํ๊ฒํ๋์?
์น์ฉ์ผ๋ก ๋ค์ ์์ฑํ๊ณ ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ VB WebAPI ๋ฐฑ ์๋๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? ์ต์ ์น ์ฑ ๊ฐ๋ฐ์ ์ํด Angular, Visual Basic ๋ฐ .NET Core ๊ฒฐํฉ ?
JS๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด๋ ํ์ ์ผ๋ถ๊ฐ ์ค๊ดํธ ์ธ์ด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์์์ ์๋ฏธํฉ๋๋ค. C #์ผ๋ก ๋ณํํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
VB์์ ์ํ ํ ์์๋ C # ๋ ์ ์ ์ผ๋ก ์ํ๋๋ ์์ ์ ์์ต๋๋ค. MS๋ IL ๋ณํ๊ธฐ๋ฅผ ๋ง๋ญ๋๋ค. ๊ทธ๊ฒ์ ์์ง์ ๋ฌธ์ ์ ๋๋ค.
์ฌ๊ธฐ์ ์ง๋ฌธ์ด ์์ต๋๋ค. ๋ฐ์คํฌํฑ ๋ฒ์ ์ฒ๋ผ ๋ณด์ด๊ณ ์๋ํ๋ ์น ๋ฒ์ .net 4.5.2๊ฐ์๋ ๋น์ฆ๋์ค ์ฑ์ด ๋ง์ด์๋ ๊ฒฝ์ฐ MS๋ ํฌ๋ก์ค ํ๋ซํผ์ผ๋ก ์ด๋ํ๋๋ก ์ ์ํฉ๋๋ค.
MS๊ฐ Asp.net Core ์จ์ด๋ธ์ VB ๊ฐ๋ฐ์๋ฅผ ํฌํจ์ํค๋ ์์ด๋์ด๋ฅผ ๋ฉ์ฒญํ๊ณ ๋ฆฌ์์ค๋ฅผ ์๋นํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ค๋ ๊ฒ์ด ๊ณต์์ ์ธ ๊ฒ์ ๋๊น?
@ sreenathGanga1988 Visual Basic.NET์ .NET Core์์ Razor๋ฅผ ์ง์ํ ํ์ฌ ๊ณํ์ด ์๋ค๊ณ ๋ฐํํ์ต๋๋ค. MVC์ ์ผ๋ถ๋ก ASP.NET Core์์๋ WebAPI๊ฐ ์ง์๋ฉ๋๋ค. ์ง์๋์ง ์๋ ๊ฒ์ Razor๋ฟ์ ๋๋ค. Razor ์์ง์ ๋ณต์กํ๋ฉฐ ๋จ์ผ ์ธ์ด ์ฉ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
@KathleenDollard ๋ VB ํฌ์ด VB๋ฅผ ์ง์ํ๊ธฐ ์ํด ํ์ฌ Razor ์์ง์ ์ฌ์ฉํ์ฌ ๋ฉด๋๊ธฐ ์์ง์ ๊ตฌ์ถํ๋ ๋ฐ ๊ธฐ์ฌํ ์ ์๋๋ก VBHTML.Contrib
๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ ๋ฒ์ ์ Razor๋ฅผ ์์ฑํ ์ฌ๋๋ค์ Visual Basic์ด ์ฌ๋ฌ ์ธ์ด ์ฉ์ผ๋ก ์ค๊ณ๋์ง ์์๊ธฐ ๋๋ฌธ์ ํฌํจํ๋ ๊ฒ์ด ๋งค์ฐ ๋ณต์กํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ์ฝ๋๋ฅผ ๋ณด์ง ์์์ง๋ง ๊ทธ ์ฌ๋๋ค์ ์๊ฒฌ์ ๋ฏฟ์ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ๋ฐํ์ผ๋ก ํฌํฌ๋ฅผ ๋ง๋ค์ง ์์ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌ๋ ASP.NET์ ์ด์ ๋๋ฌธ์ ์คํ ์์ค์ ๋๋ค. VB ๊ฐ๋ฐ์ ๊ทธ๋ฃน์ด ์ด๋์์๋ ํฌํฌ๋ฅผ ๋ง๋ค๊ณ ํ๋ ธ๋ค๋ ๊ฒ์ ์ฆ๋ช ํ๋ค๋ฉด ๊ทธ๊ฒ์ ๋ค์ ๋ฉ์ง ๊ฒ์ ๋๋ค. ํ๋ก์ ํธ์ ๋ํ์ด repo ํฌ์ธํธ์์ด ๋ฌธ์ ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ์์ด์ ๊ธฐ์ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ์ํ๋ ๊ฒฝ์ฐ ๊ทธ ์กด์ฌ์ ์งํ ์ํฉ์ ํธ์ ํ ๊ฒ์ ๋๋ค.
.NET Foundation๊ณผ ํจ๊ป Visual Basic ๊ณต๊ฐ (์๋ง๋ ๊ธฐ์ฌ, ์๋ง๋ ๋ค๋ฅธ ๊ฒ)์์ํ ํ ๋๋ฅผ ๋ง๋ จํ์ฌ Visual Basic ์ปค๋ฎค๋ํฐ์ ํ๋ก์ ํธ์ ๋ํ ์์ ๊ถ ๋ฐ ๊ด๋ฆฌ ์์ ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ์ฌ๋๋ค์ด ์ํ๋ ๊ฒ์ ์ ๊ณตํ๋ ์ ์ฅ์๊ฐ์๋ ์ปค๋ฎค๋ํฐ๊ฐ ์๋ค๋ ์ฆ๊ฑฐ๊ฐ ํ์ํฉ๋๋ค (์ฌ๋จ์ ์ฃฝ์ ํ๋ก์ ํธ๋ฅผ ํผํ๊ธฐ ์ํด ๋ ธ๋ ฅํฉ๋๋ค). Entity Framework ํ ํ๋ฆฟ์ด ๊ทธ ์จ์์ด๋๊ธฐ๋ฅผ ๋ฐ๋์ง๋ง ์๋์ง ์์์ต๋๋ค. ์ด VB ํน์ ํ์ง ์๊ณ , ๋น์ ์ด ๊ฐ์ธ ์ ์ฅ์์์๋ ๊ฒ์ ๋ณผ ์ด์ : @bricelam์์ VB EF ํ ํ๋ฆฟ, @natemcmaster์์ ๊ธ๋ก๋ฒ ๋๊ตฌ ์นดํ๋ก๊ทธ๋ฅผ, ์ฐ๋ฆฌ๋ ์๋ก์ด ํ๋์ ๋ช ๋ น ์ค ํ์ @natemcmaster์ ํฌํฌ ๋ฒ์ ์ ์์ ํ๋ ๋์ .
๋ฐ๋ผ์ ํ๋ก์ ํธ์ ํ๋กํ ํ์ ์ Foundation์ ๊ด์ฌ์ ๋๊ธฐ์ ์ถฉ๋ถํ์ง ์์ง๋ง ์ฑ๊ณต์ ์ธ ํ๋ก์ ํธ๊ฐ ๋ํ๋๋ฉด .NET Foundation์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.ํ์ง๋ง Roslyn์ด ๋ ๋ค ์ง์ํ ์์๋ ๋์์ ๋ง Razor๊ฐ C #์ ๋์์ผ๋ก ๊ตฌ์ถ ๋ ์ด์ ๋ฅผ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค !!
๊ตฌ๋ฌธ ํธ๋ฆฌ๋ฅผ ์ง์ ๋น๋ํ๋์ง ์ฌ๋ถ๋ฅผ ์๊ธฐ ์ํด Razor ์ฝ๋๋ฅผ ์ดํด ๋ณด์ง ์์์ง๋ง ๊ทธ๋ ๊ฒํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ...
Roslyn์ C # ๋ฐ VB์ ๋ํด ๋ค๋ฅธ ๊ตฌ์ฒด์ ์ด๊ณ ๋ช ์์ ์ธ ์์ ๊ตฌ๋ฌธ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ธ์ด ์ฝ๋ก ๊ณผ ์ค๊ดํธ๋ VB๊ฐ ์๋ C #์ ์์ต๋๋ค. End Sub ๋ฐ Handles๋ C # ๊ตฌ๋ฌธ ํธ๋ฆฌ๊ฐ ์๋ VB์ ์์ต๋๋ค.
์๋ ํ์ธ์.
์, ์ ๋ ํ๋ก์ ํธ blazor๊ฐ ์คํ์ ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์น ์ด์ ๋ธ๋ฆฌ๋ก ์ปดํ์ผ๋๊ณ ํฌ๋ก์ค ํ๋ซํผ ์ฑ์ ์ํํ๋ ๋ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋๋ค (์๋ฒ์ ํด๋ผ์ด์ธํธ์์ ๊ธฐ์กด ์ฝ๋๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ Windows ์๋ฒ์ ASP .NET์ ์ข์ํ๋ฏ๋ก ์๋ฒ ์คํ์ ์ ํธํฉ๋๋ค.) ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ ์ํด ์ ์ฒด .NET ํ๋ ์ ์ํฌ๋ฅผ ์ง์ํฉ๋๋ค.)
๊ทํ์ ์ง๋ฌธ :
.NET core 3์ WinForms ์ฑ์ ํ๋ซํผ ๊ฐ์ผ๋ก ๋ง๋ค์ง ์์ผ๋ฏ๋ก ๋๋ฌด ๋ง์ด ์ถ๊ฐํ์ง ์์ต๋๋ค.
์ ๋ ์น์ฉ์ผ๋ก ๋ค์ ์์ฑํ๊ณ ์์ต๋๋ค. ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ์ ์ฑ์ ํฌ๋ก์ค ํ๋ซํผ์ผ๋ก ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋๋ค. ASP .NET ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์กด ์ฝ๋๋ฅผ ๊ณต์ ํ๊ณ ์์ผ๋ฏ๋ก ์๋ฒ์์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์์ ๋งํ๋ฏ์ด ์ฐ๋ฆฌ๋ JS์์ ๋์ผํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์์ํ ์์ฒด ํ๋ ์ ์ํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ง๋ง ํด๋ผ์ด์ธํธ ์ฝ๋๋ฅผ ๋ค์ ์์ฑํ๊ณ ํ ์คํธํด์ผํ๋ฉฐ UI๋ ์ฌ์ ํ ๊ฐ๋ฐ์ 80 % ์ด์์ ์ฐจ์งํ๊ณ ์์ต๋๋ค. ์๊ฐ.
์ฐ๋ฆฌ๋ ํ๋ก์ ํธ blazor ์ด์ ์ ํ๋ ์ ์ํฌ๋ฅผ JS๋ก ํฌํ ํ๊ธฐ ์์ํ์ต๋๋ค. C #์ผ๋ก ๋ค์ ์์ฑํ๋ค๊ณ ํด์ ํด๋ผ์ด์ธํธ ์ฑ์ด ํ๋ซํผ๊ฐ์ ๊ต์ฐจ๋์ง๋ ์์ต๋๋ค. ์ด์จ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋์์ผ๋กํ๊ฑฐ๋ Xamarin ๋๋ ๋ค๋ฅธ ๊ฒ์ผ๋ก ๋ณํํด์ผํ๋ฏ๋ก ๋ ธ๋ ฅ์ ๋์ผํฉ๋๋ค.
์ ๋ C, C ++, C #, VB, JS๋ก ํ๋ก๊ทธ๋๋ฐํ๊ณ ์ฌ๋ฌ ์คํ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ง๋ง ๋ค๋ฅธ ์ธ์ด๋ก ๋ณํํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช๋ ํ์์ด ์ฌ๋ฌ ๋ช ์์ต๋๋ค. ์ด์จ๋ ์์ ์ ํ ์คํธ ๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ค์ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. blazor๊ฐ ๋ทฐ์์ VB๋ฅผ ์ปดํ์ผ ํ ์ ์๋ค๋ฉด ๋ง์ ์๊ฐ์ ์ ์ฝ ํ ์ ์์ต๋๋ค.
๋ํ ์ฌ์ฉ์๊ฐ ์ด์ ์ ์ ์ฒด ํ๋ ์ ์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ VB .NET์์ ๋ฉด๋๊ธฐ ๋ทฐ๋ฅผ ์ปดํ์ผ ํ ์ ์๋ค๋ ๊ฒ์ ์ดํดํ๋ ๊ฒ์ด ์ด์ํฉ๋๋ค. VB๋ฅผ ๋จ๊ฒจ ๋์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ .NET ์ฝ์ด๋ก ์์๋์๋๋ฐ, ์คํ ํ๋ก์ ํธ๊ฐ ์ฒ์์ด ์๋ ์๋์?
์ปจํ ์คํธ๋ฅผ ์กฐ๊ธ ๋ ์ถ๊ฐํ๊ธฐ ์ํด ์๋ก ๋ค๋ฅธ ๋น์ฆ๋์ค ๋ผ์ธ์ ๋ํด ์ธ ๊ฐ์ง ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ ERP๋ฅผ ํฌํ ํฉ๋๋ค.
๋ฌธ์ ์ธ์ฌ.
@mcurros
์๋๋ฆฌ์ค์ ๋ํด ๋ ๋ง์ด ๊ณต์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
Razor ์์ง์ ASP.NET Core ์ฉ์ผ๋ก ๋ค์ ์์ฑ๋์์ผ๋ฉฐ ์ฌ๊ธฐ์์ ์ฌ๋ฌ ์ธ์ด์ ๋ํ ๋ ธ๋ ฅ์ด ์ด๋ฃจ์ด์ง์ง ์์์ต๋๋ค. VB ๋ฒ์ ์ Razor ์์ง์ ๋ฎ์ ์ฌ์ฉ์ด ์๋๋ ฅ ์ค ํ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์, Blazor์ ์กด์ฌ๋ ๊ทธ ๊ฒฐ์ ์ ๋งค์ฐ ๊ณ ํต์ค๋ฝ๊ฒ ๋ง๋ญ๋๋ค.
์๋ ํ์ธ์.
ํต์ฐฐ๋ ฅ์ ๊ณต์ ํด์ฃผ์ Kathleen์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. .NET์ ์ธ์ด๊ฐ ์๋ก ๊ฒฝ์ํ๊ธฐ ์์ํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. .NET์ ๊ฐ์ฅ ๋งค๋ ฅ์ ์ธ ์ ์ค ํ๋๋ ์ธ์ด์ ์ํธ ์ด์ฉ์ฑ์ ๋๋ค. ์ด์ ๋ ์ด์ ๊ทธ๋ ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์ ๊ฐ๋ฐ ์คํ์ผ๋ก .NET์ ์ ํํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ ํํ๋ ์ธ์ด์๋์ฃผ์ํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ํ๊น๊ฒ๋ ํ ๊ฑธ์ ๋ค๋ก ๋ฌผ๋ฌ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ง์ง๋ง ์ง๋ฌธ์์ razor๋ ASP .NET ์น ํ์ด์ง์ ์น ๋งคํธ๋ฆญ์ค๋ฅผ ์ฌ์ฉํ์ฌ .NET core๋ณด๋ค ํจ์ฌ ๋จผ์ ์์ฑ๋์๋ค๊ณ ์๊ฐํ๋ฏ๋ก razor ์์ง์ด C #์ ๋์์ผ๋กํ๋ .NET core๋ก ๋ค์ ์์ฑ๋์์์ ์๋ฏธํฉ๋๋ค. ๋ด๊ฐ ๋ง์?
ํ์ด์ ๋น์ด ์.
์๋
ํ์ธ์,
์ด ๊ฒ์๋ฌผ์ ์ฐพ์์ต๋๋ค. Razor๊ฐ ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? .
์์ํ C # ๋ฐ VB.NET ๊ฐ๋ฐ์ ์ํด ASP .NET Core ๋ฐ Blazor ํ๋ก์ ํธ์์ Razor ๊ตฌ๋ฌธ ์ฌ์ฉ์ ์์ ํ ํผํ๋ ๊ฒ์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ์ญ๋๊น? HTML5 ๋ฐ CSS ํ์ผ์ ๋ด ๋ณด๋ด์ผํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๋ ค๋ฉด Razor ๊ตฌ๋ฌธ์ด ํ์ํฉ๋๊น?
๋ฌธ์ ์ธ์ฌ,
ํ๋ฆฌํฌ.
์๋ ํ์ธ์.
๋ธ๋ ์ด์ ์ ์ด์๊ตฐ์. ๋ฌธ์ ๋ ํด๋ผ์ด์ธํธ์์ ํ ํ๋ฆฟ ์์ง์ด ํ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ blazor์ ๊ฒฝ์ฐ์๋ ๋ฐ๋ก ๊ทธ๊ฒ์ ๋๋ค. blazor์์ razor๋ ์๋ฒ๊ฐ ์๋ ๋ธ๋ผ์ฐ์ ์์ ์คํ๋ฉ๋๋ค (ํ์ง๋ง ํ์ํ ๊ฒฝ์ฐ ์๋ฒ์์ ์คํํ ์ ์์). ๊ทธ๋์ ์ฌ๋๋ค์ ์ค๋ซ๋์ ๋ธ๋ผ์ฐ์ ์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ ์ฝ๋๋ฅผ ๊ณต์ ํ๋ ค๊ณ ํฉ๋๋ค. ์ ํจ์ฑ ๊ฒ์ฌ ์ฝ๋๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ๊ฐ๋จํ ๊ฒฝ์ฐ์ด์ง๋ง, ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ๋ชจ๋ธ์ ์ค๋ช ํ๋ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ฏ๋ก ๊ตฌ์ฑ ์์๊ฐ ํด๋น ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ ํ ์ ์์ต๋๋ค.
Node.JS๋ ๋ธ๋ผ์ฐ์ ์ ์๋ฒ๊ฐ์ ์ฝ๋๋ฅผ ๊ณต์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ฆฌ ์ฌ์ฉ๋์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ธ๋ผ์ฐ์ ์ ์๋ฒ๊ฐ์ .NET ์ฝ๋๋ฅผ ๊ณต์ ํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? Razor๋ ๊ณต์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์น ์ด์ ๋ธ๋ฆฌ๋ก ์ปดํ์ผ๋ฉ๋๋ค. ์, ์ฑ์ ์ปดํ์ผํ๊ณ ์คํํ๊ณ ๋ฐฐํฌ ํ ์ ์์ง๋ง ๋ธ๋ผ์ฐ์ ์๋ ๋ ๋์ ํฌ๋ก์ค ํ๋ซํผ ๊ธฐ๋ฅ์ด ์์ผ๋ฉฐ ๋์ผํ ์ฝ๋๋ก ๋ ๋ง์ ํ๋ซํผ์ ๋์์ผ๋ก ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ ์์ผ๋ก ๊ฐ๊ณ ์ถ๋ค๋ฉด WPF๊ฐ webassembly๋ก ์ปดํ์ผ๋๋ ๊ฒ์ ๋ณด์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๊ธฐ์กด JS ๊ตฌ์ฑ ์์๋ฅผ ํ์ฉํ๊ณ ์ด๋ฅผ .NET ๊ธฐ๋ฐ๊ณผ ํผํฉํ๋ ๊ฒ์ ์ ํธํ์ง๋ง angular์ ๊ฐ์ ๋ค๋ฅธ JS ํ๋ ์ ์ํฌ๋ฅผ ๋์ฒดํ๊ธฐ ์ํด .NET ๋ฐ razor๋ฅผ ์ ํธํฉ๋๋ค. ์ ์ด๋ ์ฐ๋ฆฌ๋ฅผ ์ํด ๋ฌด์์ํ๊ณ ์๋์ง ์๋ค๋ฉด 10 ๋ฐฐ ๋ ์์ฐ์ ์ ๋๋ค.
๋ฌธ์ ์ธ์ฌ.
@mcurros ์, Razor๋ฅผ ํฌํจํ์ฌ ASP.NET Core์์ ๋ง์ ๋ถ๋ถ์ด ์ฌ ์์ / ์ฌ ์์ฑ๋์์ต๋๋ค (์ : ํ์ดํ ๋ผ์ธ ๋ชจ๋ธ ์ฐธ์กฐ).
@mcurros ์ข์ต๋๋ค. ํ
ํ๋ฆฟ ์์ง์ด ํ์ํ๋ค๋ ๊ฒ์ ์ฌ์ค์ด์ง๋ง ๋ฌธ์ ๋ ๊ฒฌ๊ณ ํ WYSIWYG ๋์์ด๋๊ฐ Razor ๊ตฌ๋ฌธ์ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด Blazor๋ Bootstrap ์ CSS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฉํฉ๋๋ค. Bootstrap Studio ๋ผ๋ ํฅ๋ฏธ๋ก์ด Boostrap ๋์์ด๋๊ฐ ์์ง๋ง Razor ๊ตฌ๋ฌธ์ ์ง์ํ์ง ์์ต๋๋ค.
WinForms ๋ฐ์คํฌํฑ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ XAML๊ณผ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ๋น ๋ฅด๊ฒ ๋์์ธ ํ ์์๋ ํ๋ฅญํ WYSIWYG ๋์์ด๋๊ฐ ์์ต๋๋ค. Razor ๊ตฌ๋ฌธ๋ณด๊ธฐ (.cshtml / .vbhtml)๋ฅผ ์ฌ์ฉํ์ฌ HTML5-CSS๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์์๋ ๋์์ด๋๊ฐ ์์ต๋๊น?
์๋
ํ์ธ์.
๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ ์์๋ ์ฅ์น๋ 10K ์์์ด๋ฏ๋ก ์ ํํ WYSIWYG ๋๊ตฌ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋
ธ๋ ฅํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์์ฆ ์ถ์ธ๋ ๋ธ๋ผ์ฐ์ ์์ ์คํํ๊ณ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ๋๋ง์ ์ํํ๋๋กํ๋ ๊ฒ์
๋๋ค. Blazor ์ํ์ Bootstrap์ ์ฌ์ฉํ์ง๋ง razor๋ ํ
ํ๋ฆฟ ์์ง์ด๋ฏ๋ก ์ํ๋ ๊ฒ๊ณผ ์ํ๋ CSS / HTML ํ๋ ์ ์ํฌ๋ฅผ ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. ํฅ๋ฏธ๋ก์ด ๋ถ๋ถ์ ์น ์ด์
๋ธ๋ฆฌ ์ปดํ์ผ, SPA ๋ผ์ฐํ
์ ์ ๊ณตํ๋ ์์ ๋ ๋ฉด๋๊ธฐ, SPA ํด๋ผ์ด์ธํธ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์
๋๋ค. ๋ํ ํ์ํ ๊ฒฝ์ฐ ์๋ฒ์์ ๋ ๋๋ง ํ ์ ์์ต๋๋ค (๊ณต๊ฐ ์น ์ฌ์ดํธ ๋ฐ ๊ฒ์ ์์ง ์์ธ ์์ฑ ์ฉ). ๊ฝค ๋ฉ์ง๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฐ๋ผ์ blazor๋ ์ค์๊ฐ ์น ์ด์ ๋ธ๋ฆฌ ์ปดํ์ผ์ ์ ๊ณตํ๊ณ F5๋ฅผ ๋๋ฅด๋ฉด ๋ธ๋ผ์ฐ์ ์์ ์คํ๋ฉ๋๋ค. ๋น ๋ฆ ๋๋ค. ์๋ํด๋ณด์ธ์.
@mcurros ๋ต๋ณ
๊ตฌ์ฑ ์์๊ฐ ๋๋๊ทธ ์๋ ๋๋กญ์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๊ตฌ์ฑ ์์์ ์ด๋, ํฌ๊ธฐ ์กฐ์ ๋ฐ ํฌํจ๋๋ ๊ธฐ๋ฅ์ด์๋ ๊ฐ๋ฐ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์๊ฐํ๋ฉด ๋ง์ง๋ง์ผ๋ก CSHTML ํ
ํ๋ฆฟ์ ์
๋ฐ์ดํธํฉ๋๋ค.
์๋ฅผ ๋ค์ด Concrete5 ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฆ์ ๋ ์ด์์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋ฏธ๋์ "๋์์ธ ๋ชจ๋"๊ฐ ๊ฐ๋ฅํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์๋ ค์ฃผ์ธ์.
์น์ ํ๋,
ํ๋ฆฌํฌ.
๋๋ VB์ ๋ฏธ๋๊ฐ ์๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
C #๊ณผ Visual Basic์ ๊ณต์งํ๋ฅผ ๋๋ด๊ธฐ์ํ ๋ง์ดํฌ๋ก ์ํํธ์ ์๋ก์ด ์ ๋ต์ ๊ฐ๋ฐ์๋ค๋ก๋ถํฐ ๋ ์กด๊ฒฝ๋ฐ์ ๊ฒ์
๋๋ค.
C #์ .Net ๊ฐ๋ฐ์๋ฅผ์ํ ๋ฏธ๋์ด๋ฏ๋ก Visual Basic์ ์ฌ์ฉ์ ์จ-ํ๋ ๋ฏธ์ค ๋ ๊ฑฐ์ ์์คํ
์ผ๋ก ์ ํ ํ ๋์
๋๋ค.
https://www.infoworld.com/article/3254564/application-development/doing-nicely-now-visual-basics-popularity-could-take-a-hit.html
https://blogs.msdn.microsoft.com/dotnet/2017/02/01/the-net-language-strategy/
2 ์ต 5 ์ฒ๋ง ์ค์ ์ฝ๋ ์ค ์ ๋ฐ์ด ์์ง ์ฌ์ฉ ์ค์ด๋ฏ๋ก ์ด์ ๋ค์ ์์ฑํด์ผํฉ๋๋ค. VB.Net์ ์ต์ ์ธ๋์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ธ์ด ์์ฒด์ ๋ํ ์์ ํ ๋ฌด์ง (๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ Visual Basic-Apples to Oranges์ ๊ณ์ ๋น๊ตํ๋ ๋ชจ๋ ๋ฐ๋ณด)์ ์ฑ๋ฅ ๋ฐ ๊ธฐํ ๋ฒกํฐ์์ ํฐ๋ฌด๋์์ด ์๋ชป๋ ๋น๊ต๋ก ์ธํด ์ฃฝ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ผ์๋ฆฌ๋ฅผ ์๊ฒ ๋ RIP VB.Net๊ณผ ์๋ฐฑ๋ง ๋ช ์ ๊ฐ๋ฐ์.
@DamianEdwards ์ฒ๋ผ C #์์ VB๋ก "ASP.Net Core Web Application"์์ ๋ฅผ ์ด์ํ์ต๋๋ค. VB ํ๋ก์ ํธ์์ Razor .cshtml ํ์ผ์ (์ฑ๊ณต์ ์ผ๋ก) ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ASP.Net Core 2.1๊ณผ ํธํ๋๋์ง ํ์ธํ์ต๋๋ค. ์ฌ๊ธฐ์์ ์ฐพ์ ์ ์์ต๋๋ค.
@marcusoftnet ๋ฐ๋ฏธ์ ์๋ฅผ ์ฌ์ฉํ๋ ๋ฉ์ง .cshtml
๋ทฐ์์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋๋จธ์ง VB.NET
, ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ์์ฃผ ์ฌ์ฉํ๋ ๋๊ฐํฉ๋๋ค .vbhtml
๋ณด๊ธฐ์ ๐
๋๋ ๋ง์ดํฌ๋ก ์ํํธ๊ฐ ์ผ๋์๋๊ณ ์๋ ๊ฒ์ด ๋ฌด์์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค. VB์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์น์์ ํด๋ผ์ด์ธํธ ์ธก๊ณผ ์๋ฒ ์ธก ์์ญ์ ๋ชจ๋ ์ ์ ํ๊ฒ ํ ์ ์๋ค๋ ์ ์ด๋ค.
ํด๋ผ์ด์ธํธ : vbscript
์๋ฒ : vb
์ฐ๋ง VB๋ ๋น์ ์๊ฒ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์ดํดํ ์ ์๊ณ ์ดํดํ ์ ์๊ณ ์ ์ํ ์ ์์ต๋๋ค. vb.net์ด ์น์ ์๋ค๋ ๊ฒ์ ์๋ ๊ฒ์ ์ ๋ง ์ํ๊ณ ํฅ์์ ๋๋ค.ํ์ง๋ง ๊ทธ๊ฒ์ ๋น์ ์ ์๋ชป์ด๋ฉฐ ํ๋์ ๋ง ์ง์คํฉ๋๋ค.
Bing ๋ฒ์ญ :
๋๋ Microsoft๊ฐ ๋จธ๋ฆฌ์ ์๊ณ VB์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ํด๋ผ์ด์ธํธ ์ธก๊ณผ ์๋ฒ ์ธก์ ๋ ์์ญ์ ์น์์ ์ ์ ํ ์ ์๋ค๋ ๊ฒ์ ๋ชจ๋ฆ
๋๋ค.
ํด๋ผ์ด์ธํธ : VBScript
์๋ฒ : VB
์ฐ๋ง VB๋ ์ํ์๊ฐ ์ดํดํ ์ ์๊ณ ์ดํด ๊ฐ๋ฅํ๋ฉฐ ์ ์ํ ์์๋ ๊ฒ์ ๋๋ค. vb.net์ด ์น์ ์๋ค๋ ์ฌ์ค์ ์๋ ๊ฒ์ ์ ๋ง ๋ง์ ๊ณ ํต๊ณผ ํฅ์๋ฅผ ๋ถ๋ฌ ์ผ์ผ ํต๋๋ค.
๋ค์์ ํ์ธํ์ต๋๋ค.
https://blogs.msdn.microsoft.com/vbteam/2018/11/12/visual-basic-in-net-core-3-0/
์ด๊ฒ์ด ๋ณ๊ฒฝ ๋ ๊น์?
์ด๋ ๊ฒํ๋ฉด C #์ ์ด๋ฏธ ์ถ๊ฐ ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํด VB.NET์ด ๊ณ์ ์ง์๋์ง๋ง ๋ค์ vbhtml
๐
@hishamco ์๋์. ๊ณต์ ํ๋ ๋์ :( Razor ์์ง์ C # ๋ง ์ง์ํฉ๋๋ค.
Razor ์์ง์ C # ๋ง ์ง์ํฉ๋๋ค.
๊ทธ๊ฒ์ด ๋ด๊ฐ ์๋ฏธํ๋ ๋ฐ์ ๋๋ค ๐
Tibor Index๋ VB.NET์ด ์ฑ์ฅํ๊ณ ์์์ ๋ณด์ฌ์ค๋๋ค. ์ด์จ๋ ์ฐ๋ฆฌ๋ VB ๋ฉด๋๊ธฐ๊ฐ ํ์ํฉ๋๋ค.
@DamianEdwards ์ฒ๋ผ C #์์ VB๋ก "ASP.Net Core Web Application"์์ ๋ฅผ ์ด์ํ์ต๋๋ค. VB ํ๋ก์ ํธ์์ Razor .cshtml ํ์ผ์ (์ฑ๊ณต์ ์ผ๋ก) ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ASP.Net Core 2.1๊ณผ ํธํ๋๋์ง ํ์ธํ์ต๋๋ค. ์ฌ๊ธฐ์์ ์ฐพ์ ์ ์์ต๋๋ค.
@mevdschee Visual Studio๋ฅผ ํตํด ํ๋ก์ ํธ ํ ํ๋ฆฟ์ ์ฌ์ฉํ ์ ์๊ฑฐ๋ VSCode์์ ์ง์๋์ง ์๊ธฐ ๋๋ฌธ์ VB.NET์ผ๋ก ํฌํ ํ๊ธฐ ์ํด ๊ฑฐ์น ํ๋ก์ธ์ค์ ๋ํด ๊ถ๊ธํฉ๋๋ค. ์ด๋ป๊ฒ ํ์ จ๋์?
@Webbarrr ์ ๋ C # ์ฝ๋๋ฅผ VB๋ก ์ง์ ๋ณํํ๊ณ Visual Studio C # ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ์์ํ์ต๋๋ค.
@reduckted @hishamco @muratg @ TB-MTG @brunojuliao @Eilon @rynowak @CheungTatMing @VBDotNetCoder @ simonmilne80 @NatShaw @SrqComputerguy @ sreenathGanga1988 @mcurros @filippobottega @mrjohnr @beefydog @mevdschee @ Baner041986 @hannespreishuber @Webbarrr
VB.NET ์ฝ๋๊ฐ HTML, CSS ๋ฐ JavaScript ๊ตฌ๋ฌธ์ ์ ๋ง์ง ์๊ธฐ ๋๋ฌธ์ vbhtml์ด ์์ค ๋ ์์ธ์ด๋ผ๋ ๋ฐ ๋์ํฉ๋๋ค! ๋์ vbxaml์ ์์ฒญํฉ๋๋ค!
๋ช ๋ฌ ์ ์ VB.NET ์ ์ฅ์์์ด ์ ์์ ๊ฒ์ํ์ต๋๋ค.
https://github.com/dotnet/vblang/issues/329
๋ค์์ ๋ฐ์ดํ์
๋๋ค.
VB.NET์ด ์๋ก์ด WebAssembly ๋ฌผ๊ฒฐ์ ํ๊ฒํ์ญ์์ค :
WebAssembly์ Blazor ์ดํ, ๊ธฐํ๋ ๊ทธ ์์ฒด๋ก ๋ํ๋ฉ๋๋ค. ์ด์ HTML5 ๋์ XAML์ ์์ฑํ๊ณ (์ฐจ์ด๊ฐ ์ต์ํ ๋จ) Java ์คํฌ๋ฆฝํธ ๋์ VB.NET์ ์์ฑํ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ ๋๋ค (Blazor์์ C #์ด Java๋ฅผ ๋์ฒดํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ์).
์ด๋ฏธ C #์์์ด๋ฅผ ์๋ํ๋ Ooui๋ผ๋ ํ๋ก์ ํธ๊ฐ ์์ต๋๋ค.
VB.NET์ ๋๊ฐ์ดํด์ผํ๋ฉฐ SilverLight, Blazor ๋ฐ Ooui์์ ์ํ ํ ์์ ์ ํ์ฉํ์ฌ XAML ๋ฐ VB.NET ์ฝ๋๋ก ASP.NET ํ์ด์ง๋ฅผ ๋์์ธํ๋ ํ๋ก์ ํธ๊ฐ ์์ด์ผํฉ๋๋ค. ์ด๊ฒ์ด ์ง๊ธ ์์๋๋ฉด ๊พธ์คํ ์ฑ์ฅํ ์ ์์ต๋๋ค. ๋์ Blazor์ Ooui๊ฐ ์์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ ๋ค์ MS๋ ๋ค์๊ณผ ๊ฐ์ด ๋งํฉ๋๋ค.
์ฃ์กํฉ๋๋ค. VB.NET์ด ๋ฐ๋ผ ์ก๊ธฐ์๋ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค!
VBlazor (.vbxaml)๋ VB.NET ๋ฐ WPF / UWP์ ์ต์ํ ๋ฐ์คํฌํฑ ๊ฐ๋ฐ์๊ฐ ASP.NET์ผ๋ก ์ํํ๊ฒ ์ด๋ํ ์ ์๋๋กํฉ๋๋ค.
XAML ๋๋ Fluid์ ๊ฐ์ ํ ํ๋ฆฟ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ IMHO๋ Razor๊ฐ C # ์ ์ฉ์ผ๋ก ์์ฑ ๋์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฒ์ ํ๋ณตํ๊ฒ ๋ง๋ค ๊ฒ์ ๋๋ค.
VBLazor๋ uwp / wpf ๋์์ธ ๋ทฐ์ ๋น์ทํ์ง๋ง MVVM ํจํด์ ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑ ํ ์์๋ ๊ธฐ๋ฅ์ด์๋ ๋ ๊ฐ์ ์ฝ๋ ์จ๊น ํ์ผ (์๋ฒ vb.net ์ฝ๋ ์ฉ ๋ฐ ํด๋ผ์ด์ธํธ (์คํฌ๋ฆฝํธ) ์ฝ๋ ์ฉ)์ด ์์ต๋๋ค. XAML์ html5๋ก, Xaml ์คํ์ผ์ CSS๋ก, VB.NET ์คํฌ๋ฆฝํธ ์ฝ๋๋ WebAssembly๋ก ์ปดํ์ผ๋ฉ๋๋ค.
์ฌํ๊ฒ๋ ASP.NET Core ์ฉ VB.NET ํ๋ก์ ํธ ํ ํ๋ฆฟ์ ์ถ๊ฐ ํ ์๋๊ฐ ์๋ค๋ ๊ฒ์ด ๋งค์ฐ ๋ถ๋ช ํ๊ธฐ ๋๋ฌธ์์ด ๋ด์ฉ์ ๋ซ๊ฒ ์ต๋๋ค.
@reduckted @muratg @ tb-mtg @brunojuliao @rynowak @CheungTatMing @VBDotNetCoder @ simonmilne80 @NatShaw @SrqComputerguy @ sreenathGanga1988 @mcurros @filippobottega @mrjohnr @beefydog @mevdschee @ Baner041986 @hannespreishuber @hannespreishuber
๋ง์ง๋ง์ผ๋ก ์๋ํ๋ VB.NET ASP.NET MVC Core Razor ์ํ!
https://github.com/VBAndCs/VB.NET-Razor
VbRazor ํ๋ก์ ํธ์์ ๊ฐ๋จํ VBRazorViewEngine์ ๊ตฌํํ์ต๋๋ค.
ํ๋ก์ ํธ์์ VBRazorViewEngine์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ค์ ๋ ๋ฌธ์ Startup.ConfigureServices ๋ฉ์๋์ ์ถ๊ฐํ์ต๋๋ค.
```VB.NET
services.AddTransient (Of IConfigureOptions (Of MvcViewOptions), VBRazor.VBRazorMvcViewOptionsSetup) ()
services.AddSingleton (Of IViewEngine, VBRazor.VBRazorViewEngine) ()
The VBRazor is just a VB class that implements the IVBRazor Interface:
```VB.NET
Public Interface IVBRazor
ReadOnly Property Razor As String
End Interface
Razor ์์ฑ์ xml ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ์ฌ HTML ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋ฌธ์์ด๋ก ๋ฐํํฉ๋๋ค. ์ :
```VB.NET
VbRazor ์์
๊ณต์ฉ ํด๋์ค IndexView
IVBRazor ๊ตฌํ
Dim students As List(Of Student)
Public Sub New(students As List(Of Student))
Me.students = students
End Sub
Public ReadOnly Property Razor As String Implements IVBRazor.Razor
Get
Dim x = <html>
<h3> Browse Students</h3>
<p>Select from <%= students.Count() %> students:</p>
<ul>
<%= (Iterator Function()
For Each std In students
Yield <li><%= std.Name %></li>
Next
End Function)() %>
</ul>
</html>
Return x.ToString()
End Get
End Property
์์ ์ข ๋ฃ
To use the IndexView from the Controller, I passed it to the View method as the model data in the action method, and passed the actual model data to its constructor:
```VB.NET
Public Function Index() As IActionResult
Return View(New IndexView(Students))
End Function
๊ทธ๊ฒ ๋ค์ผ!! ํ๋ก์ ํธ๋ฅผ ์คํํ๋ฉด ๋ค์ ์น ํ์ด์ง๊ฐ ํ์๋ฉ๋๋ค.
์ด๊ฒ์ ์ ๋ง ์ฌ์ ์ง๋ง ๋ ๋ง์ ์์
์ด ํ์ํ๋ฏ๋ก์ด ํ๋ก์ ํธ๋ฅผ ์ค์ ์์ฐ์ ์ธ ๋๊ตฌ๋ก ๋ง๋ค๊ธฐ ์ํด์ด ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
๊ฐ์ฅ ๋จผ์ ํ ์ผ์ ASP.NET MVC Core ์ฉ VB.NET ํ
ํ๋ฆฟ์ ๋ง๋๋ ๊ฒ์
๋๋ค. C # ํ๋ก์ ํธ๋ฅผ ๋ง๋ ๋ค์ VB๋ก ๋ณํํด์ผํ์ต๋๋ค!
๋ ๋ฒ์งธ๋ก ํ ์ผ์ VB์ xml ๋ฆฌํฐ๋ด์์ html ์์ฑ์ ๋ํ ์ธํ ๋ฆฌ ์ผ์ค ์ง์์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค!
Truth View Engine์ Razor ๋๋ Markdown ๋ฑ์์ ๋ณธ ๊ฒ๊ณผ ๊ฐ์ ์ผ์ข ์ ํ ํ๋ฆฟ์ ๊ตฌ๋ฌธ ๋ถ์ํด์ผํ์ง๋ง Razor์์ ์์ฑ ๋ ํด๋์ค๊ฐ ์ํ ํ ์ฝ๋ ๋ค์ ์์ฑ ๋ ์ต์ข ๋งํฌ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ์ํ ํ ์์ ์ด ์ฝ์ต๋๋ค.
๋ฟก๋ฟก
๊ฑฐ์ ์ํ์ง VB XML ๋ฆฌํฐ๋ด ๋๋ถ์ ๋ช ์๊ฐ ๋ง์์ด ์์
์ ์ํํ์ต๋๋ค! ๋๋ ๋ช ์ฃผ ๋์ ์๋ก์ด ๊ตฌ๋ฌธ์ ์ ์ํ๋ ค๊ณ ํ ๋๊น์ง ์์ด ๋ฒ๋ ธ์ ๊ฒ์
๋๋ค. ๊ทธ๋์ ๋ด๊ฐ ์์ฑ ํ๊ณ ํธ์ง์๊ฐ ๋ซ๋ ํ๊ทธ๋ก ์์ฑํ์ต๋๋ค. :) ๊ทธ๋ฌ๋์ด ์์ด๋์ด๋ฅผ ์์ ํ ์ ํ์ผ๋ก ๋ง๋ค๊ธฐ ์ํดํด์ผ โโํ ์ผ์ด ๋ง์ต๋๋ค.
https://gitter.im/VB-NET/Volunteer
๊ฐ์ฌ.
XML ๋ฆฌํฐ๋ด์ VB๋ง์ด ๊ฐ์ง๊ณ ์๋ ์์ฃผ ์ข์ ๊ธฐ๋ฅ์ ๋๋ค. vbhtml์ ๊ดํด์๋ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ด ํ์ํ๊ณ ์ ๋ ๊ณผ๊ฑฐ์ ๊ด์ฌ์ด์๋ ๋ถ ์ค ํ๋์ ๋๋ค. ์กฐ๋ง๊ฐ ์์ํ ์ ์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
์๋
ํ์ธ์,
๊ธฐ๋ฅ์ ์ธ VB Razor (Vazor)์
๋๋ค. ์ฌ๋ฏธ :
https://github.com/VBAndCs/Vazor
์๋
ํ์ธ์,
์ด ์ ์์ ์ง์ํ์ญ์์ค https://github.com/aspnet/AspNetCore/issues/9270
vbhtml ํ์ด์ง๋ฅผ ๋ง๋๋ ์ฌ์ด ๋์์ด ๋ ์ ์์ต๋๋ค.
@VBAndCs , ์ด์ ์ ์ข ๋ฃ ๋ ๋ฌธ์ ์ ๋ํ ๊ฒ์๋ฅผ ํผํ์ญ์์ค. ASP.NET Core์ ๋ฒ๊ทธ ๋ฐ ๊ธฐ๋ฅ ์์ฒญ์ ๋ํด์ด ๋ฌธ์ ์ถ์ ๊ธฐ๋ฅผ ์ ์งํ๊ณ ๋ค๋ฅธ ๋ ผ์๋ฅผ ์ต์ํํ๋ ค๊ณ ํฉ๋๋ค.
์์ผ ๋ก
์ฃ์กํฉ๋๋ค. ์์ง ์กด์ฌํ์ง ์๋ ๊ธฐ๋ฅ ์์ฒญ์
๋๋ค. ํ์ ๋์ด๋ ๋ฌธ์ ๊ฐ๋์ง๋ ์์ง๋ง ์ฌ์ ํ Google ๊ฒ์์ ํ์๋๋ฏ๋ก์ด ์ฃผ์ ์ ๋ํ ๋ชจ๋ ๊ด๋ จ ์ ๋ณด๋ฅผ ํจ๊ป ๋ณด๊ดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ด์จ๋ , ์ด๊ฒ์ด์ด ์ฃผ์ ์ ๋ํ ๋์ ๋ง์ง๋ง ์๋ต์
๋๋ค.
๊ฐ์ฌ
@VBAndCs , @Eilon (Github ๋ฐ์ด์ค์ ๋ฐ๋ฅด๋ฉด ๊ฐ๋ฐ์๊ฐ ์๋ Microsoft ๊ด๋ฆฌ์)์
๊บ๋ ๋
๋น์ ์ ์ง์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค :). @Eilon ์ด ํ๋ฃจ์ ์๋ฐฑ ๊ฐ์ ์๋ฆผ, ์์ ํด์ผ ํ ๋ฒ๊ทธ, ๋ง๋ค ํ ๋ก , ๋ต๋ณํด์ผ ํ ์ง๋ฌธ ๋ฐ ๊ฑฐ๋ถ ์ ์์ผ๋ก ์ธํด ์์ฒญ๋ ์๋ ฅ์
๊ทธ๋์ ๋๋ ๋์ ์ ์์์์ด ์ฃผ์ ๋ฅผ ์ธ๊ธ ํ ๊ฒ์ด๋ค (VB.NET์ด ์ฌ๋ฐ๋ฅธ ์์น๋ฅผ ๋ณต์ ํ ๋๊น์ง ๊ณ์ ์ค๊ธฐ๋ฅผ ๋ฐ๋๋ค :)).
๋๋ Eilon์ด ์ค์ํ ์ ์์ ๋ํด ๋
ผ์ํ๊ฑฐ๋ ์ ์ด๋ ์ ์ ๋์ ๊ณต๊ฐํ์ฌ ์ปค๋ฎค๋ํฐ์์ ์ฆ์ ๋ซ๊ธฐ ๋ฒํผ์ผ๋ก ์ด๋ํ๋ ๋์ ํ ๋ก ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค @mevdschee , ์ฃ์กํฉ๋๋ค @Eilon :)
๋๋ ๊ฐ์ ํ ํ์์์ด ๋ก๋๋งต์ ์์ด์ผํ๋ค๊ณ ์๊ฐํ๋ ์ ์ ํ ์์ ํ ์๋ฃจ์ ์ผ๋ก ์ค๋ซ๋์์ด ์ค๋ ๋๋ฅผ ๋ฐ๋ผ์๋ค. ๋๋ @VBAndCs ๊ฐ ๋ ธ๋ ฅํ ํ @Eilon ์ด ๋๋ฌด ๋ง์ ์ฌ๋๋ค์ ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ฃผ๋ ค๋ ๋ค๋ฅธ ์ฌ๋์ ๋ง์ผ๋ ค ๊ณ ์๋ํ๋ ๊ฒ์๋ณด๊ณ ์ฝ๊ฐ ์ค๋ง ํ์ต๋๋ค! ๋ง์ ๋ถ๋ด์ด ์๋ค๋ ๊ฒ์ ์ดํดํ ์ ์์ง๋ง, ์ฌ๋๋ค์ด ์ฌ์ ํ ์ด๊ฒ์ ๋ฐ๋ฅด๊ณ ์๋ค๋ ์ฌ์ค์ ๋ง์ ์ฌ๋๋ค์๊ฒ ์ค์ํฉ๋๋ค! ์ข์ ์ผ์ ๊ณ์ํ์ญ์์ค :)
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
์ปค๋ฎค๋ํฐ ํ๋ ๋ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ ฅํ ๊ถ์ฅํ์ง๋ง ํน์ ๊ธฐ๋ฅ ์์ฒญ์ด๋ ๋ฒ๊ทธ ์์ ์ ์ฐ๋ฆฌ๊ฐ ๊ตฌํํ๊ธฐ์ ์ถฉ๋ถํ ์ฐ์ ์์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์๋ฝ ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ํ ์คํธ ๋ฐ ๋ฌธ์๋ฅผ ํฌํจํ๋ ํ ์์ฒญ์ด์๋ ๊ฒฝ์ฐ๋ ํฌํจ๋ฉ๋๋ค. ๊ท๋ชจ์ ๊ด๊ณ์์ด ๋ชจ๋ ๋ณ๊ฒฝ์๋ ์ฅ๊ธฐ์ ์ธ ๋น์ฉ์ ํฌํจํ์ฌ ๋น์ฉ์ด ๋ฐ์ํ๋ฉฐ, ๊ณ ๋ ค์ค์ธ ๋ค๋ฅธ ๋ชจ๋ ์ ์ฌ์ ์์ ๊ณผ ๊ท ํ์ ์ด๋ฃจ์ด์ผํฉ๋๋ค. ๋ทฐ ์์ง๊ณผ ๊ด๋ จํ์ฌ ์ฐ๋ฆฌ๋ C #์ ์ง์ํ๊ณ Visual Studio, Mac ์ฉ Visual Studio ๋ฐ Visual Studio Code์ ๋ฐ์ด๋ ํธ์ง๊ธฐ ํ๊ฒฝ์ ์ ๊ณตํ๋ Razor ๋ทฐ ์์ง์ 100 % ์ ๋ ํ๊ณ ์์ต๋๋ค.
์ฌ๊ธฐ์ @VBAndCs ์ ๊ฐ์ ์ฌ๋๋ค์ด ASP.NET Core์ ํจ๊ป ์๋ํ๊ณ ๋ค์ํ ๋ฐฉ์์ผ๋ก ํตํฉ๋๋ ์ถ๊ฐ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ์์๋ ์ข์ ๊ธฐํ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฌ๋๋ค์ด MVC readme ์ ๊ฐ์ readme ํ์ผ์ PR์ ๋ณด๋ด๋๋กํ์ฌ ์ด๋ฌํ ํ๋ก์ ํธ์ ์ฐ๊ฒฐํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค.
๊ฐ์ฌ,
Eilon
@ simonmilne80 , @mevdschee ๋ฐ ๊ด์ฌ์๋ ์ฌ๋์๊ฒ :
๋ฆฌํฌ์งํ ๋ฆฌ์ zml ํ์ด์ง์ ์์
์์ ๋ฅผ ์ถ๊ฐ ํ์ผ๋ฏ๋ก์ด ์ฃผ์ ์ ๋ํ ํ ๋ก ์ ์งํํ์ญ์์ค : https://github.com/VBAndCs/Vazor-DotNetCore2/issues/1
@Eilon ์๊ฒ ํํ์ ์๊ฐ์
BTW๋ ๊ณง ์ถ์ ๋ ASP.NET Community Standup ์ Vazor์ ๋ํ ์ธ๊ธ์ ์ถ๊ฐํ๋ ค๊ณ ํฉ๋๋ค. GitHub ์ ์ฅ์ ์ธ์ ์ฐธ์กฐ ํ ์์๋ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ด ์์ต๋๊น?
์์ผ ๋ก
๋ต์ฅ์ ๋ฆ์ถฐ์ ์ฃ์กํฉ๋๋ค. ๋จผ์ ์์
์ ์๋ฃํ๊ณ ZML ํ๊ทธ์ ๋ํ ๊ธฐ๋ณธ ์ ๋ณด๊ฐ ํฌํจ ๋ readme ํ์ผ์ ์์ฑํด์ผํ์ต๋๋ค.
ZML 1.0์๋ ์ด์ ์์ฒด ์ ์ฅ์ ์ NuGet์ด ์์ต๋๋ค.
ZML์ ์ธ๊ธํ๋ฉด โโ์ธ์ด ๋
๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ์น์ธ ํ ๊ฒ์
๋๋ค (๋ฆฌํฌ์งํ ๋ฆฌ์๋ C # ๋ฐ VB ๋ ๋ฒ์ ์ ํ๋ก์ ํธ ์ํ์ด ํฌํจ๋์ด ์์ผ๋ฉฐ ๋ ๋ค ๋์ผํ .zml ํ์ผ์ ์ฌ์ฉํฉ๋๋ค.
๊ฐ์ฌ.
์ด๊ฒ์ ์ด๋ฏธ ์ผ์ด๋ฌ์ต๋๋ค! https://github.com/VBAndCs/Vazor/issues/1
๋ด VB.NET WebForms ์ฑ์ .NET Core Razor Pages๋ก ๋ณํํ๋ ค๊ณ ํฉ๋๋ค. VB๊ฐ ์ง์๋์ง ์๋๋ค๋ ์ฌ์ค์ด ์ฌ์ค์ด๋ผ๋ฉด ๋์ ์ด๋ค ์ต์ ASP.NET ๊ฒฝ๋ก๋ก ๋ง์ด๊ทธ๋ ์ด์ ํด์ผํฉ๋๊น? C #์ผ๋ก ์ฑ์ ๋ค์ ์์ฑํ๋ ๊ฒ์ ์ต์ ์ด ์๋๋๋ค.
@Gruski "๋ผ์ด๋ธ๋ฌ๋ฆฌ"์ฝ๋ ์ธ VB.NET ์ฝ๋๊ฐ
๊ฐ๋ฐ์๊ฐ WebForms์์ Blazor๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์๋๋ก ์ ์ ์ฑ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ฐฉ๊ธ ์ถ์ํ์ต๋๋ค.
https://docs.microsoft.com/en-us/dotnet/architecture/blazor-for-web-forms-developers/index
๋ฐ๋ผ์ ์ฑ์ ์ผ๋ถ๋ฅผ VB๋ก ์ ์ง ํ ๋ค์ UI ๋ง C #์ด๋ฉด๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ฑ์ ์ผ๋ถ๋ฅผ VB๋ก ์ ์ง ํ ๋ค์ UI ๋ง C #์ด๋ฉด๋ฉ๋๋ค.
UI์๋ VB.NEt ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. cshtml ํ์ผ์๋ง C # ์ฒญํฌ๊ฐ ํฌํจ๋ฉ๋๋ค. C # ์ฝ๋๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ ค๋ฉด VB.NEt์ xml ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ์ฌ Vazor ํ๋ก์ ํธ์์ํ๋ ๊ฒ์ฒ๋ผ UI๋ฅผ ๋์์ธ ํ ์ ์์ต๋๋ค.
https://github.com/VBAndCs/Vazor-DotNetCore2
Anthony Green์ ๋ธ๋ก๊ทธ์ ๋ง์ง๋ง ์ฃผ์ ์์ ๋ณผ ์ ์๋ฏ์ด์ด๋ฅผ ๋ค๋ฅธ ์์ค์ผ๋ก ๋์ด ์ฌ๋ ธ์ต๋๋ค.
https://anthonydgreen.net/
๋๋ ์ฌ๊ธฐ :
https://github.com/dotnet/vblang/issues/483
๋ํ C #๊ณผ VB๋ฅผ ๋ชจ๋ ํผํ๊ณ ์์ํ XML Razor (ZML์ด๋ผ๊ณ ํจ)๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด XML ํ๊ทธ ๋ช
๋ น์ ์ฌ์ฉํ ๊ฒ์ ์ ์ํ์ต๋๋ค.
https://github.com/VBAndCs/ZML
์ฐ๋ฆฌ ํ๋ก์ ํธ๋ WebForms ํ๋ก์ ํธ์ด์ง๋ง ์๋ ์๋ ํ๋๋ก ๋ ์ด์ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ด๊ฒ์ ํ์ด์ง ๋ค์ ๊ฐ .aspx ์ฝ๋์์๋ WebMethods๋ฅผ ํธ์ถํ๋ Vue.js ํด๋ผ์ด์ธํธ ์ธก ํ๋ ์ ์ํฌ๋ง์ ์ฌ์ฉํ๋๋ก ์๋ ์ ๊ฑธ์ณ ๋ณํ ๋ ์ค๋๋์์ง๋ง ๋๊ท๋ชจ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ด์์ต๋๋ค. ๋ฐ๋ผ์ ์๋ฒ ๊ตฌ์ฑ ์์ (runat = "server"์์), viewstate ์์, ์ ์ฒด ํ์ด์ง ๊ฒ์๋ฌผ ์์ ( "form"์์ ์์)์ด ์์ต๋๋ค. ์ผ๋ถ Vue ํด๋ผ์ด์ธํธ ์ธก ๊ตฌ์ฑ ์์๋ฅผ ๋์ ์ผ๋ก ์ด๊ธฐํํ๋ Load ๋ฉ์๋ ์ธ์ ๋ค์์๋ ์ฝ๋์๋ WebMethods ๋ง ํฌํจ๋ฉ๋๋ค.
์ด๋ฅผ ์ผ๋์๋๊ณ .NET Core๋ก ์ด๋ํด์ผํ๋ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํ์ฌ WebForms์์ ๋ฒ์ด๋๋ ค๋ฉด ํ๋ก์ ํธ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํด์ผํ๋ ์๋ก์ด ASP.NET ๊ธฐ์ ์ ๋ฌด์์ ๋๊น? Vue.js๋ ์ด๋ฏธ ํด๋ผ์ด์ธํธ ์ธก์ MVC ํจํด์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ MVC๋ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ ์๊ฒฌ์ ๋ ์ฐ์ํฉ๋๋ค. ์ ์๋ฒ์์์ด ํจํด์ด ํ์ํฉ๋๊น? Blazor๋ ์ ์ฒด UI๋ฅผ ๋ค์ ์์ฑํด์ผํ๊ธฐ ๋๋ฌธ์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
@Gruski Razor Pages๋ฅผ ์ถ์ฒํฉ๋๋ค. ์์์ ๋งค์ฐ ์ฝ์ต๋๋ค. ASP.NET Core ์ฑ์ Pages ํด๋๋ฅผ ๋ง๋ค๊ณ ์ฌ๊ธฐ์ .cshtml ํ์ผ์ ์ถ๊ฐํ๊ธฐ ์์ํ๋ฉด๋ฉ๋๋ค. ๊ฐ ํ์ด์ง๋ ๋ณธ์ง์ ์ผ๋ก URL์ด๋ฉฐ ์์์ HTML์ ๋ฃ์ ๋ค์ ์๋ฒ ๋ก์ง์ ๋ํด ์ํ๋ C #์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค.
์์ํ๋ ค๋ฉด์ด ์์ต์๋ฅผ ์ฌ์ฉํด๋ณด์ญ์์ค. https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-3.0&tabs=visual-studio
@Eilon Razor Pages์ WebMethods๋ฅผ ๋ฐฐ์นํ๊ธฐ์ํ ์ฝ๋๊ฐ ์์ต๋๊น? ๊ทธ๋ ์ง ์์ผ๋ฉด WebMethods๋ ์ด๋์ ๋ฐฐ์น๋ฉ๋๊น? ๊ทธ๊ฒ์ ๋ณด๋ฉด Vue๋ฅผ ์ฌ์ฉํ ๋ ์ค๋ณต๋๋ ์ฅ๋ฉด ๋ค์์ ์๋ฒ ์ธก MVC ํจํด์ ๋จ์ํ ๋ ๋ฒ์ ์ ์ฌ์ ํ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ๋ํ Razor ํ์ด์ง์์๋ VB ์ง์์ด ์์ต๋๋ค.
Razor Pages๋ WebMethods๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ MVC๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋์ผํ ์ฑ์์ Razor Pages์ MVC๋ฅผ ํผํฉ ํ ์ ์์ต๋๋ค.
@Gruski ๋๋ ์ฌํํ๊ณ ๋ฐ๋ผ ์ก์์ต๋๋ค.
Vuew.js์ UI๊ฐ์๋ ๊ฒฝ์ฐ ASP.NET Core MVC / WebAPI๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๊น? ์ด๊ฒ์ ์ ์๋ํฉ๋๋ค. ์ด ๊ธฐ์ฌ๋ Angular๋ฅผ ํฌํจํ๋ ๊ฒ์ด ์ฝ๊ฐ ์์ง๋ง ์ผ๋ฐ์ ์ธ ๊ธฐ์ ์ ๋ณด์ฌ์ค๋๋ค : https://devblogs.microsoft.com/vbteam/combining-angular-visual-basic-and-net-core-for-developing-modern- ์น์ฑ /
์ง์์๋ ๋ ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
+1
Visual Basic์ ํญ์ .NET ์ธ๊ณ์์ ๊ฐ์ฅ ์ค์ํ ์ธ์ด์ ๋๋ค. VB๋ ์ง๊ธ๋ ๋ง์ ํฌ๊ณผ ์ฌ์ฉ์ค! ๋ง์ ์ฌ๋๋ค์ด ์์ ์ ์ง์ฅ์์ C # ํ๋ก์ ํธ์์ ์ผํ์ง๋ง ์ ๊ฐ์ ๋ง์ ์ฌ๋๋ค์ด ์์ ์ ํ๋ก์ ํธ์์ VB๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ข์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.