Na forum 4programmers.net korzystamy z plików cookies. Część z nich jest niezbędna do funkcjonowania
naszego forum, natomiast wykorzystanie pozostałych zależy od Twojej dobrowolnej zgody, którą możesz
wyrazić poniżej. Klikając „Zaakceptuj Wszystkie” zgadzasz się na wykorzystywanie przez nas plików cookies
analitycznych oraz reklamowych, jeżeli nie chcesz udzielić nam swojej zgody kliknij „Tylko niezbędne”.
Możesz także wyrazić swoją zgodę odrębnie dla plików cookies analitycznych lub reklamowych. W tym celu
ustaw odpowiednio pola wyboru i kliknij „Zaakceptuj Zaznaczone”. Więcej informacji o technologii cookie
znajduje się w naszej polityce prywatności.
Czy Blazor ma szanse konkurować z JS frameworkami?
Blazor:
A component model for building composable UI
Routing
Layouts
Forms and validation
Dependency injection
JavaScript interop
Live reloading in the browser during development
Server-side rendering
Full .NET debugging both in browsers and in the IDE
Rich IntelliSense and tooling
Ability to run on older (non-WebAssembly) browsers via asm.js
Publishing and app size trimming
Moim zdaniem lepszym rozwiązaniem byłaby kompilacja do pełnoprawnego JavaScriptu, a nie do WebAssembly + biblioteki pośredniczącej. Dla C# istnieją kompilatory do JavaScriptu (na szybko wyguglane):
Blazor zapowiada się świetnie, ale póki co nadaje się wyłącznie do zabawy, sam Microsoft nazywa go eksperymentem i odradza użycie na produkcji.
A samo WebAssembly to prawdopodobnie przyszłość programowania po stornie przeglądarki, tyle że to jest kwestia najbliższych lat, a nie tygodni czy miesięcy.
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
Wesoły Ogrodnik
Wesoły Ogrodnik
0
Ale co oznacza WebAssembly dla JS? a dokładniej mówiąc dla React, Vue, Angular itd.
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
Smutny Wąż
Smutny Wąż
0
WebAssembly spowoduje wzrost popularności C++. Czyżby wielki powrót C++ na szczyty popularności ? :D
Ciekawi mnie czy C++ dzięki WebAssembly będzie mieć również zastosowanie w programowaniu logiki biznesowej?
WebAssembly jest na razie w fazie Minimum Viable Product i jest dość ubogi. Z czasem mają nadejść funkcjonalności, które pozwolą np na tłumaczenie kodu wprost z JavaScriptu do WebAssembly bądź z innego języka do WebAssembly z pominięciem JavaScriptu. Opis rozważanych funkcjonalności jest tutaj: https://webassembly.org/docs/future-features/ Postęp idzie w ślimaczym tempie, a samo WebAssembly jak na razie jest tylko i wyłącznie ciekawostką.
WebAssembly spowoduje wzrost popularności C++. Czyżby wielki powrót C++ na szczyty popularności ? :D
Ciekawi mnie czy C++ dzięki WebAssembly będzie mieć również zastosowanie w programowaniu logiki biznesowej?
A dlaczego niby C++, a nie jakiegoś bardziej ludzkiego języka? LLVM ma backend generujący WebAssembly, więc wszystko co generuje bitkod LLVMowy może bez dużych zmian kompilować się do WebAssembly (modulo dostępne API systemowe, oczywiście).
A dlaczego niby C++, a nie jakiegoś bardziej ludzkiego języka? LLVM ma backend generujący WebAssembly, więc wszystko co generuje bitkod LLVMowy może bez dużych zmian kompilować się do WebAssembly (modulo dostępne API systemowe, oczywiście).
WebAssembly umożliwi korzystanie z zaawansowanych programów, jak Photoshop, Autocad czy gry klasy AAA w przeglądarce internetowej. Więc czemu nie zastosować C++ do napisania również backendu ? skoro dana firma ma już sztab programistów C++ piszących zaawansowane programy.
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
Zacny Jeż
Zacny Jeż
0
Z tej prezentacji wynika, że najbardziej prosperujące języki w przyszłości to C/C++ i Rust.
A także React.js, bo ładne UI zawsze będzie potrzebne.
WebAssembly umożliwi korzystanie z zaawansowanych programów, jak Photoshop, Autocad czy gry klasy AAA w przeglądarce internetowej. Więc czemu nie zastosować C++ do napisania również backendu ? skoro dana firma ma już sztab programistów C++ piszących zaawansowane programy.
C++ generuje duży koszt w porównaniu do bardziej produktywnych języków. Używanie jednego języka na backendzie i frontendzie nie jest zyskiem netto samo w sobie. Dopiero same cechy języka decydują o wartości takiego rozwiązania. Inaczej Node.js zagarnęłoby cały rynek aplikacji webowych.
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
Mały Lis
Mały Lis
0
Rust i Kotlin to przyszłościowe języki. A Python to ulubiony język programowania NASA i różnych programów kosmicznych.
Tak, dodatkowo zostanie wprowadzony szereg optymalizaji etc. Serdecznie polecam artykuł https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/. Gdybym miał obstawiac to powiedziałbym ze TS bedzie bardzo mocno rósł i być może zastapi JS docelowo w przegladrce. Migracja kodu z JS do TS jest stosunkowo prosta pod warunkiem ze jakość jest przyzwoita ponad to juz teraz jest kompilator ts do wasm https://github.com/AssemblyScript/assemblyscript nazwijcie mnie czlowiekiem malej wiary ale osobisci nie widze tego by nagle FE devi (ktorych w mojej firmie jest w relacji 4-5 na jednego BE deva ) nagle zaczeli pisac w cpp tudziez Rust.
Z tym brakiem narzekania to będzie ciężko. Ja zrobiłem prosty test i spróbowałem otworzyć https://blazor-demo.github.io/ na moim telefonie z Windows 10 mobile. Oprócz Loading... nie zobaczyłem nic. Teraz ogarnij sobie ile przeglądarek (na starszych Androidach, Windows Phonach, starszych PCtach) tego jeszcze nie wspiera.
Dobra wtrace swoje 3 grosze jako ziomek ~2 lata expa (wiec to tylko moje juniorsko/midowskie zdanie). Mialem okazje pracowac przy 3 projektach w nastepujacym stacku:
*.NET ASP MVC + JQuery typowy projekt chyba jak na tamte czasy o Angularze to nawet jeszcze nie slyszalem. Poziom buderlu w projekcie nie fajny bo jak aplikacja rosla to problem z JS byl. Duzo jakis fajnych ficzerow wymagalo babrania sie w brzydkim kodzie z partial view.
*.NET ASP MVC + AngularJS - nowa firma nie moj projket tylko juz gotowy i calkiem spoko sie pracowalo jak zajarzylem Angulara. Duzym minusme bylo to ze w folderach Angularowych byl jakis porzadek nawet, tylko ze nalozenie calego C# i Angulara powodowalo ze drzewo folderow/plikow sie nie konczylo :D
*.NET CORE + Angular7 - poweim tak miodzio jesli o porzadek chodzi w VS Code mamy samego Angulara i caly front a w zwyklym Visualu cala logike backendu.
Powiem szczerze nie wyobrazm sobie powrotu z duzym komercyjnym projektem do jednego edytora. Dodatkowo porownujac mozliwosc Angulara do Razora dalem se spokoj i zapomnialem ze byl taki twor jak Razor...
Przecież jest nadal w rozwoju. Nie ma co go skreślać czy nawet nie skreślać tylko na podstawie szybkości działania i tego ile jego pliki ważą, to bez sensu. Co do tego że się skończy jak Razor (A skończył się? Ja tu widzę właśnie jego rozwój) to ja mogę też rzucić "argument" w tym stylu- nie skończy się, przyćmi inne technologie webowe. I o, proszę mnie słuchać bo ja wiem! ;)
Poczekamy zobaczymy :-) Ja tam kibicuje, bo może będzie to alternatywa dla tych przepastnych fw jsowych. Na razie morduję się z VS2019 i nie mam czasu nawet wchodzić na bloga M$ :-)
nobody01
Myślałem, że używasz Ridera ;)
Aryman1983
Tylko do net core. Rider się sypie przy projektach w klasycznym dotnecie. A jak wiadomo nie wszystko zostało przeportowane do cora :-)
Fajnie, że można prosto robić w miarę UI, ale to programowanie atrybutami trochę mnie martwi, czy to już spring? chociaż z drugiej strony nie wiem jak można byłoby to prościej zrobić.
Zainstalowałem sobie, utworzyłem domyślny projekt. Fajnie to wygląda. Ciekawi mnie czy warto się tego uczyć? W sensie czy w ciągu roku, dwóch zaczną powstawać aplikacje w tym.
PerlMonk
A skąd mamy wiedzieć? Każdy może powiedzieć co innego.
Gdzieś czytałem, że niektórzy używają już server side Blazor do jakichś wewnątrzfirmowych aplikacji, gdzie serwer znajduje się w tym samym budynku. ;) Tu masz przykładową aplikację zrobioną w tym: https://www.matblazor.com ;) Ale raczej trzeba poczekać na WebAssembly ;)
Blazor to taki Google Web Toolkit (GWT) bis tyle, że teraz mamy C# zamiast Javy (główna różnica widoczna dla programisty) i kompilację do JS+WASM zamiast samego JSa (to akurat "szczegół" implementacyjny raczej). GWT miał pierwszą oficjalną wersję 13 lat temu (2006 rok).
Nie jestem w temacie dokładnie, ale jednym z powodów upadku GWT jest to, że było wzorowane zdecydowanie bardziej na desktopowych UI toolkitach niż na podejściu typowo HTMLowym. Problemem był też długi czas kompilacji, niewygodna integracja z nowymi bibliotekami JSowymi, itd
Mimo wszystko przez kilka lat GWT było hitem i dużo Javowych zapaleńców robiło w tym aplikacje biznesowe. Samo Google też. Na stronie http://www.gwtproject.org/ mamy:
GWT is used by many products at Google, including Google AdWords and Google Wallet. It's open source, completely free, and used by thousands of enthusiastic developers around the world.
Google Wave było oparte o GWT i jak pewnie niektórzy pamiętają, też zdechło i to bardzo szybko.
Bardzo możliwe, że Blazora spotka to samo. Najpierw ekscytacja przez kilka lat, a potem zapomnienie. Jasnowidzem (czarnowidzem?) jednak nie jestem, więc nie będę się pod tym podpisywał. Jeśli jednak miałbym obstawiać to stawiałbym na to, że za 10 lat zainteresowanie Blazorem (bądź bliżniaczymi pod względem mechaniki projektami w .NETu o ile takie będą) będzie nikłe.
że jednym z powodów stosowania GWT jest to, że dobrze rozwiązywał problemy javaScriptu w 2006 roku: typowanie, podział projektu na pliki i moduły, statyczna analiza kodu.
To co jeszcze raczkowało w czasie wydania w js'ie wtedy.
Typescript z najnowszymi standardami rozwiązuje większość problemów.
Widzę, że niektórzy tutaj skreślają Blazora już na starcie. A czy to nie jest tak, że WebAssembly to przyszłość webu? Celem jest umożliwienie tworzenia backendu i frontendu w jednym języku, współdzielenia kodu i korzystania z tych samych bibliotek. To, że kiedyś się nie udało, nie znaczy, że nie uda się teraz. ;) Nie chodzi tu tylko o C#, ale też i o inne języki. Oczywiście Blazora pewnie nikt nie użyje za rok, w dniu wydania, ale pewnie dopiero kilka lat później, gdy przeglądarki i użytkownicy będą gotowi.
Jak chcesz front i backend pisac w jednym jezyku to bierz JS i mozesz w node.js pisac backend :D. Ja tam trzymam kcuki za blazora ale raczej nie spodziewam sie rozpierdzielu na rynku. Juz sie z tym TypeScriptem na froncie przyzwyczailem i calkiem dobrze mi sie z nim zyje :D
@nobody01: nie pisalem to nie wiem :D ale wiem ze masz taki JS i mozesz pisac front, backend, mobilki i nawet desktopy w nim ;)
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
mad_penguin
mad_penguin
Rejestracja:ponad 10 lat
Ostatnio:ponad 3 lata
Lokalizacja:Rzeszów
0
Mnie do bliższego zajęcia się Blazorem zniechęcił tooling - powolny edytor w VS z lagującym podkreślaniem błędów na czerwono, konieczność kompilowania całego projektu i odświeżania strony żeby zobaczyć zmiany kontra Ctrl+S i sekunda na hot reload z zachowaniem stanu w Reakcie oraz (zazwyczaj) w miarę szybko reagujący VS Code.
Wiele negatywnych opinii bierze się oczywiście z awersji do czegoś nowego. Sam już od dawna śledzę rozwój Blazora i bardzo cieszę się że w końcu ujrzał światło dziennie. Na razie po stronie serwera ale tylko czekać aż wersja WebAssembly będzie gotowa do produkcyjnego użycia. Niestety do tej pory nie miałem okazji nic większego w nim pisać. Niedawno zacząłem pracę licencjacką w której do frontu używam Vue ale zastanawiam się czy nie spróbować Blazora póki za dużo nie zrobiłem.