ASP.NET + Blazer vs React/Angular/Node/Vue

Odpowiedz Nowy wątek
Wesoły Ogrodnik
2018-05-17 13:14
Wesoły Ogrodnik
0

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

https://learn-blazor.com/getting-started/what-is-blazor/
http://www.talkingdotnet.com/[...]sing-blazor-and-asp-net-core/

Pozostało 580 znaków

2020-02-10 10:52

Rejestracja: 1 rok temu

Ostatnio: 40 sekund temu

Lokalizacja: Silesia

0
Nech napisał(a):

Rozmawianie teraz o wydajności WASMa jest bezcelowe, to dalej prawie MVP

czy chcesz przez to powiedzieć że używanie WASMa także jest bezcelowe?
IHMO MVP to już jednak coś więcej niż prototyp czy inna zabawka dla deweloperów


Pozostało 580 znaków

2020-02-10 11:57

Rejestracja: 5 lat temu

Ostatnio: 1 dzień temu

0
Kamil Żabiński napisał(a):

czy chcesz przez to powiedzieć że używanie WASMa także jest bezcelowe?

WASMa jako całości nie, Blazera jako produkcyjnego frameworka frontendowego póki co tak.

Pozostało 580 znaków

2020-02-12 16:05

Rejestracja: 1 rok temu

Ostatnio: 2 minuty temu

0
Kamil Żabiński napisał(a):

Na szczęście informatyka i programowanie to bardziej inżyniera i nauka niż religia. Więc nie wystarczy powiedzieć, że jest "tak i tak". Trzeba jeszcze to udowodnić.
Jakieś benchmark? Czy WASM jest zawsze szybszy od JS? Czy "Hello World" jest szybsze w WASM niż JS? Czy jakbym miał odpowiednik JQuery w WASM to będzie szybciej? A może odpowiednik Vue? Gdzie jest punkt w którym WASM wyprzedza JSa? Jak duży do ma być projekt. Albo jaki rodzaj projektu? Więcej pytań niż odpowiedzi.

Pisałem projekt, który korzysta z WASM. Było to narzędzie projektowe. Jest nieporównywalnie szybszy od JS jeżeli chodzi o obliczenia. Grafika 3D, CSG itp. z pewnością przenoszą się do WASM. Threejs i babylonjs itp. są znacznie... wolniejsze. Inna rzecz, że czas uruchamiania to parę sekund.

PS. wiem, że są próby wykorzystania WASM w Threejs i babylonjs

edytowany 1x, ostatnio: renderme, 2020-02-12 16:05

Pozostało 580 znaków

2020-02-12 16:39

Rejestracja: 14 lat temu

Ostatnio: 2 minuty temu

2

Framework webowy to powinien raczej celować w wydajność stron z masą tabelek, formularzy, ramek, zakładek, dialogów, odświeżania danych na żywo, logiki biznesowej itp itd a nie wydajność grafiki 3D czy jakichś typów obliczeń praktycznie nigdy nie będących wąskim gardłem w webówce.

Poza tym nie zapominajmy o asm.js:
https://hacks.mozilla.org/201[...]r-with-float32-optimizations/
https://blogs.unity3d.com/2018/08/15/webassembly-is-here/
https://medium.com/@torch2424[...]bassembly-vs-es6-d85a23f8e193
https://blog.acolyer.org/2017[...]up-to-speed-with-webassembly/

WebAssembly is on average 33.7% faster than asm.js, with validation taking only 3% of the time it does for asm.j.s
WebAssembly binaries are also compact, being on average 62.5% the size of asm.js, and 85.3% of native x86-64 code.

Czy "33.7% faster" to nieporównywalnie szybszy? Może po prostu źle coś zakodziłeś w JSie?


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2020-02-12 18:05

Rejestracja: 3 lata temu

Ostatnio: 9 godzin temu

1

@Wibowit:

Framework webowy to powinien raczej celować w wydajność stron z masą tabelek, formularzy, ramek, zakładek, dialogów, odświeżania danych na żywo, logiki biznesowej itp itd a nie wydajność grafiki 3D czy jakichś typów obliczeń praktycznie nigdy nie będących wąskim gardłem w webówce.

wasm to nie framework webowy

druga sprawa jest taka, że twierdzenie jakoby web = tylko krudki, to chyba jakiś żart :D pierwszy lepszy przykład: gry, arkusze kalkulacyjne i ogólnie coraz więcej utility softu jest po dostępna przez przeglądarkę, ma to taką zaletę, że jest crossplatformowe by default.

już z rok temu były jakieś plany typu AutoCAD & WebAssembly: Moving a 30 Year Code Base to the Web

edytowany 3x, ostatnio: WeiXiao, 2020-02-12 18:07

Pozostało 580 znaków

2020-02-12 18:10

Rejestracja: 14 lat temu

Ostatnio: 2 minuty temu

2

Temat jest o Blazorze, więc nawiązuję do Blazora i jego typowych zastosowań. WASM sam w sobie nie wymaga użycia Blazora w ogóle.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
ale odpisywałeś renderme, a on pisał tylko o wasmie. - WeiXiao 2020-02-12 18:11
w temacie o blazorze :] - Wibowit 2020-02-12 18:12
Mam pytanko: napisałeś chociaż 100 LoC w Blazorze lub czymś, co "przechodzi przez WASM"? - WeiXiao 2020-02-12 18:13
btw fajnie, że odpisałeś mi tylko na najmniejszą pierdółkę, a całe clou pominąłeś :D - WeiXiao 2020-02-12 18:14
Napisałem w JSie algorytm czysto obliczeniowy (minimalna ilość czasu CPU jest spędzana w funkcjach spoza mojego kodu) tutaj: https://github.com/tarsa/TarsaLZP W 2012 roku czysty JS był 2.5x wolniejszy od Javy bądź 4x wolniejszy od C. Nie używałem asm.jsa, bo jeszcze go nie było wtedy. Gdybym użył to pewnie dystans wydajnościowy by się mocno zmniejszył. - Wibowit 2020-02-12 18:18

Pozostało 580 znaków

2020-02-12 18:28

Rejestracja: 14 lat temu

Ostatnio: 2 minuty temu

1

btw fajnie, że odpisałeś mi tylko na najmniejszą pierdółkę, a całe clou pominąłeś :D - WeiXiao 6 minut temu

W sumie nie wiem jakie było to clou, ale dopiszę, że bardzo ważna jest implementacja frameworka. Na https://www.techempower.com/benchmarks/ czy https://github.com/krausest/js-framework-benchmark widać, że w obrębie jednego języka można mieć dramatycznie różne wyniki wydajnościowe. ZTCP to taki ASP.NET osiągał bardzo kiepskie wyniki wydajnościowe na benchmarkach TechEmpower zanim MS się konkretnie tymi benchmarkami zainteresował (i teraz radzi sobie w nich np dużo lepiej niż Javowy Spring, który widocznie się tym benchmarkiem nie przejmuje). Za przechwałkami dotyczącymi wydajności powinny stać jakieś konkretne liczby z testów własnego frameworka, a nie stwierdzenia typu: komuś gdzieś tam WASM pomógł 10x, więc nam też pomoże.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2020-02-12 18:32

Rejestracja: 3 lata temu

Ostatnio: 9 godzin temu

1

@Wibowit:

o to, że coraz więcej softu z potencjałem do liczenia czegoś jest w webie, a nie tylko formularze i requesty

edytowany 1x, ostatnio: WeiXiao, 2020-02-12 18:33
Cicho, nie wkurzaj człowieka z banku, bo Ci kredytu nie da. ;) - somekind 2020-02-13 00:53
@somekind: kredyt? a po co to komu, jakbyś się uczył, to byś nie potrzebował ;) :D - WeiXiao 2020-02-13 01:12

Pozostało 580 znaków

2020-02-12 18:49

Rejestracja: 14 lat temu

Ostatnio: 2 minuty temu

0

Ogólnie jestem za. Jeśli chodzi o testowanie przypadkowych programów to wolałbym by były osandboxowanymi WASMami niż EXEkami latającymi po ruskich forach. Z drugiej strony teraz jest tendencja do liczenia wszystkiego w chmurze, a więc jeśli ma być dużo mielenia danych w tym webowym arkuszu kalkulacyjnym to może to być odpalone na np serwerach Gugla, a nie laptopie czy smartfonie użytkownika.

Chodzi o to, że zastanawiam się jak Blazor może wypaść jako framework ogólnego przeznaczenia (czyli dla typowych apek webowych), a nie framework szczególnego przeznaczenia (przydatny małemu procentowi programistów C#). Jak myślisz: co będzie typowym zastosowaniem Blazora?


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2020-02-12 19:02

Rejestracja: 3 lata temu

Ostatnio: 9 godzin temu

0

@Wibowit:

Jeżeli już będzie "mature", to wydaje mi się, że wiodące zastosowanie będzie takie jak reacta czy vue lub angulara.

Pisałem w nim coś większego niż hello world kilka miesięcy temu (mogło się coś poprawić) - kilka komponentów, zagnieżdżenia, parametry, routing, logowanie itd. i generalnie gdyby nie słabości tj. tooling(!!!) oraz ograniczenia WASMA, to chyba nawet byłby prod ready.

edytowany 5x, ostatnio: WeiXiao, 2020-02-12 19:10

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0