logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Najlepsze współczesne frameworki JavaScript do tworzenia interfejsów użytkownika (UI)

JacekCz 10 Paź 2017 21:06 735 5
REKLAMA
  • #1 16749544
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1462
    W sąsiednim wątku kol @hansklis aktywował w moim mózgu pewne drzemiące obszary.

    Szukam nakierunkowania w zakresie współczesnych (by nie powiedzieć modnych) JavaScriptowych frameworków / bibliotek, w których się robi interfejs użytkownika (UI) i zasila się to danymi np przez REST
    backendem będzie wysoce zestandaryzowany prawidłowy REST (należy rozumieć JSON - choć XML to 'no problem' jeden wiersz konfiguracji) w Javie i .NET. Nie przekonywać mnie do JS na server side.
    Serwery bez problemu produkują pozytywnie walidujący się HTML/XTHML/JSON nawet z trudnych danych (specjalne litery)

    Moje podstawy baza: Mam (jakąś) znajomość HTML, umiem skorygować działanie AJAX/JS jak mi trzeba, umiem wizualnie wykończyć stronę beztabelkowego html (chyba się mówi semantycznego html) poprzez CSS2/CSS3. Tworzyłem incydentalnie wizualne strony, ale nie chce się w tym rozwijać.
    Nauczenie się dwieście siedemnastego w życiu syntaxu czegokolwiek nie jest problemem.

    Psychologia: rynek "dżawascriptowy", gdzie zeszłoroczny "numer jeden" dziś już jest "passe", a każdy deszczowy weekend skutkuje premierą dwóch najlepszych na świecie frameworków UI - jest dla mnie nieczytelny, dla kogoś przyzwyczajonego do wieloletnich linii oprogramowania.

    Jak co do czego, poradzę sobie z angielskim, ale z takim szerokim koncepcyjnym pytaniem, to nie (a Stack Overflow nie zajmuje sie opiniami)


    Proszę się odnieść do stwierdzeń (nie są moje - wszystkie wyniesione od programistów dużych aplikacji Java/.NET)
    Angular 1 jest zupełnie niekompatybilny z Agular 2, więc należało by się uczyć "2", a "dwójka" jest takim overdesignem jak była J2EE. Jest przerośnięta.

    "polymer" i "react" są OK. Nie mam pojęcia jak to ugryźć mając patrzenie od strony backendu, logiki biznesowej itd...
    Coś czytałem o "bootstrap", ale książka adresowana do kogoś trochę innego

    Mój zamiar: budować w tym raczej frontendy informacyjnych aplikacji biznesowych (intranety) niż bajerne strony dla publiczności
    Mile widziany designer UI.
    Nie mam zamiaru w tym być wysokiej klasy specjalistą JS (w razie wielkiego projektu kogoś wynajmę - na razie nie miałbym nawet języka jak się dogadać).
    Nie mam kolczyków w uszach, kucyka, ani fioletowych włosów ;)

    Póki co sam chcę zostać twórcą UI w bardzo małej skali. Proszę wskazać taki punkt startu do lektur obowiazkowych, , żeby był dobry dla "programisty backendowego"
  • REKLAMA
  • #2 16750975
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 16751130
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1462
    hansklis napisał:
    Miło mi że cię zainspirowalem, spójrz może na metro ui css, są tam fajne gotowe funkcje js i dużo pozytywnych rozwiązań dla front end
    https://metroui.org.ua/


    Dzięki. Dobrze się czuję z "semantycznym HTML" plus CSS, np menu jest animowane na mocy CSS a nie JS. Jestem w dalekim sensie wychowaniem książek Erica Meyera o CSS (ogromie dużo wie - skoro współprojektant - i dobrze pisze)

    Po prawdzie to szukam czegoś w rodzaju "frameworki UI dla opornych (backendowców)".
    Znalazłem kilka "Modern UI for JEE programmers", ale prowadzi w puste polemiki, jako przykłady negatywne padają nazwy JS, których pojawienia się i zmierzchu jak meteora nawet nie zarejestrowałem.

    Całkiem dobrze sobie radzę z "klasyką" tzn serwer zwraca kompletną stronę (nie ma żadnego problemu, składającą się z komponentów server-side *) ), może za wyjątkiem kolorów CSS. Są zajaksowane, więc i dynamiki nie brakuje.

    Nie umiem ugryźć "nowego paradygmatu" czyli strona jaką zobaczy widz, nigdzie nie istnieje, powstanie (jak nie będzie trzęsienia ziemi) w przeglądarce. W jakimś sensie programista backend utracił odpowiedzialność za całkowitą treść strony (server side UI), dostarcza strumienia danych które "może" zostaną wykorzystane

    *) Apache Wicket jest super! Potrafię mniej czy bardziej działać w JSF, Vaddin, z drugiej strony jednowartwowy ASPX. Generalnie mam daleko frameworki komponentowe, gdzie programista nie jest w stanie zrobic swojego komponentu (w Wickecie po tygodniu). Akcyjne jak Struts migam się jak diabeł święconej wody, za słabe logicznie przy wielkim rozbudowaniu projektu.
  • REKLAMA
  • #4 16751160
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #5 16756051
    wiesniak
    Poziom 31  
    Posty: 1006
    Pomógł: 231
    Ocena: 52
    hansklis -> To co robisz jest obecnie raczej niemodne. Póki robisz proste rzeczy, to będzie działać, ale spróbuj czegoś bardziej złożonego i możesz pięknie popłynąć. Sam bawiłem się z ajax panelami, postbackami, wstrzykiwaniem JSów itd. Fajna rzecz, ale coraz mniej popularna i strasznie oporna momentami.
    W tej chwili wszystko idzie w kierunku SPA (single page application), gdzie cyrkowanie z ajax panelami to straszny pożeracz czasu. Zamiast tego bierzesz np angulara, pakujesz mu UI router i wszystko ślicznie działa niemal out of the box. Pod spodem możesz mieć aplikację asp.net mvc z wystawionym webapi. Nikt teraz nie chce czekać na pełny postback i przeładowanie strony. Teraz ma być natychmiastowa reakcja, brak migotania strony i ewentualny kręciołek na ładowanie danych.
    JacekCz -> Jak sam zauważyłeś, niestety w tej chwili frameworki UI zmieniają się bardzo szybko - tak szybko jak się pojawiają, tak znikają, albo są zastępowane nowszymi wersjami, znacznie różniącymi się od poprzedniej wersji. Trzeba w tym głęboko siedzieć, albo łatwo się człowiek gubi i nie nadąża.
    Ja po prostu oram w tym, co akurat klient chce. Pracowałem ostatnio z angularem i było nawet OK. Teraz dłubię w ExtJs - polecam... unikać ;-) Bootstrap jest nudny, ale wsadzasz i nagle strona sama z siebie zaczyna wyglądać ;-)
    Generalnie mam wrażenie, że jeszcze trochę i trzeba będzie się zdecydować na backend albo frontend, bo żeby być full stackowcem, to coraz ciężej ogarniać angulary, lessy, scssy i inne front-magie.
  • #6 16756306
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1462
    wiesniak napisał:
    hansklis -> To co robisz jest obecnie raczej niemodne. Póki robisz proste rzeczy, to będzie działać, ale spróbuj czegoś bardziej złożonego i możesz pięknie popłynąć. Sam bawiłem się z ajax panelami, postbackami, wstrzykiwaniem JSów itd. Fajna rzecz, ale coraz mniej popularna i strasznie oporna momentami.


    Ja mam dobre doświadczenia (wypowiedź bardziej bardziej świat javy niż dotnetu) z wiodącymi frameworkami komponentowymi serwer-side. Manualny kod JS niemal nie wystepuje, a nigdy nie jest wielki. W ogóle przez lata programowania nigdy się nie podaje żywego URL.
    Jednak enkapsulacja, izolacja itd... to się sprawdza.
    My w tym świecie dzielimy fw na komponentowe (Wicket, JSF->implementacja Primefaces, obejrzyjcie demo), podatne na enkapsulację np ajaxa i "akcyjne" (Struts, Spring), których intensywna "ajaxyfikacja" do każdego widgeta to rzeźbienie

    wiesniak napisał:

    W tej chwili wszystko idzie w kierunku SPA (single page application), gdzie cyrkowanie z ajax panelami to straszny pożeracz czasu. Zamiast tego bierzesz np angulara, pakujesz mu UI router i wszystko ślicznie działa niemal out of the box. Pod spodem możesz mieć aplikację asp.net mvc z wystawionym webapi. Nikt teraz nie chce czekać na pełny postback i przeładowanie strony. Teraz ma być natychmiastowa reakcja, brak migotania strony i ewentualny kręciołek na ładowanie danych.


    [----] tu słowa nie lubiane przez moderatorów. właśnie te mody ... mam wrażenie, że design wizulany "jest królem", po iluś latach takiej informatyzacji nawet wiodący klient nie ma świadomości projektu logicznego, ma fatalne pomysły merytoryczne (lub nie ma ich wcale - nie projektujmy czyli religijne podejście do Agile), tylko design kolorów (państwowy system wydany w tym roku dla uszczelnienia paliwa -> podawanie litrów w polu komentarza, przyznacie genialne)

    W/w ajaxowane frameworki server-side bardzo ładnie robią te scenariusze (bez migania, można użyć placeholder itd) bez ręcznego kodu.

    Pewnie lepiej zrozumiałbym rewolucję REST po stronie klienta, gdyby źródłem danych był rzeczywisty cloud, dziesiątki źródeł, których ilość i adresy są zmienne z kwadransu na kwadrans. Dla posiadanego jednego serwera (czy trzech), to jest tylko marketingowo "private cloud", a dalej to zwykle jest instalacja klasyczna. Właścicielem googla czy fejsa już pewnie w życiu nie zostanę ...

    Z clicnt-side jest bardzo rozmyta odpowiedzialność, tego nie da się w pełni zastąpić testami -> widzę na SO tłumy nisko wynagradzanych testerów np. selenium. To jedna z chorób branży. (W jednym sektorze strony masz "2+2", w drugim "5".... Albo leczenie wszystkie za pomocą pudr... cache, na wydajność, na zawodność, na błędy logiczne też? Podawajmy treści sprzed wprowadzenia buga ... chyba też)

    wiesniak napisał:

    JacekCz -> Jak sam zauważyłeś, niestety w tej chwili frameworki UI zmieniają się bardzo szybko - tak szybko jak się pojawiają, tak znikają, albo są zastępowane nowszymi wersjami, znacznie różniącymi się od poprzedniej wersji. Trzeba w tym głęboko siedzieć, albo łatwo się człowiek gubi i nie nadąża.
    Ja po prostu oram w tym, co akurat klient chce. Pracowałem ostatnio z angularem i było nawet OK. Teraz dłubię w ExtJs - polecam... unikać ;-) Bootstrap jest nudny, ale wsadzasz i nagle strona sama z siebie zaczyna wyglądać ;-)
    Generalnie mam wrażenie, że jeszcze trochę i trzeba będzie się zdecydować na backend albo frontend, bo żeby być full stackowcem, to coraz ciężej ogarniać angulary, lessy, scssy i inne front-magie.


    hmmm.... w świecie Javy sporo "było" (są, ale to mam nadzieję przemiaja) fullstackowców niskich lotów (rzeźbienie kodu w JSP uważane za syf, po wklejki ręcznego JS).

    Ale co ciekawe, słucham regularnie typowych zaprzysięgłych backendoców, którzy biorą się za przynajmniej częściowy UI.
    When Java EE Micro Profile meets Angular by Antonio Goncalves
    prezentacja jest "psychologicznie" ciekawa, bo zwykle facet (a jest znaczną figurą backendu JEE) robił ją w duecie z frontendowcem (ze świata .NET), a tym razem sam. Wystąpienia w duecie też są nagrane. Dla mnie ciekawe.

    Pewne mody ze wstydem przeminą, zostanie cos (wierzę) bliskiego rozsądku ...
    EDIT: ktoś umiał wyrazić podobnie jak myślę: wirtualizacja i cloud już była (dla niektórych zabrzmi jak "Kopernik była kobietą"), a zabił ją tańszy powszechny sprzęt, lokalnym projektom (nie na wszystkie strefy czasowe) cloud nie jest potrzebny, a na pewno nie zmniejsza kosztów
    https://www.youtube.com/watch?v=-89IC778SdE 10-11min . Geekowski marketing który zmienia znaczenie słów

    Nie jestem wrogiem nowych nurtów, ale gdy to staje się technicznym marketingiem mają przegięcia, Test Drivent Development (pięknie uzasadnia porzucenie typowanego programowania na rzecz stringów), mityczna "reaktywność", totalna rozwałka logiki (z duplikacją danych) na webservisy (kto nie podoła zrobieniu monolitu -> nie zrobi clustra webserwisów)
REKLAMA