Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Programista vs dzisiejeszy FRONTEND DEVELOPER, Przyszłość programistów PHP
markonix
post 15.09.2016, 10:18:46
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Jak większość od zarania dziejów zacząłem od PHP i równolegle przy jednoosobowych projektach wymuszone zostało też na mnie nauka frontendowych technologii (css, jquery itp.).

Patrząc na oferty, bywając na jakichś konferencjach widać wyraźnie przesunięcie w stronę frontendu. Frontendowiec kiedyś dla mnie był kimś kto kroił szablon i zrobił mi formularze i na tym koniec. A jak jest teraz? Jak oglądam wynalazki takie jak Angular co to widzę? Bindowanie, layouty, routing - takie pojęcia od razu na myśl mi przynoszą jakieś komponenty z moich frameworków PHP, tu wygląda jakby co raz więcej logiki biznesowej zostało przenoszony bliżej przeglądarki.

Jaka jest dzisiaj rola backendowca? Pytanie zwłaszcza do osób pracujących w firmach.
Pisanie API dla frontu? Wydaje mi się, że i tak dużo musi zostać po stronie backendu - cała logika obliczeń, bazy danych, walidacja?
Jak wygląda kod PHP? Czy to w ogóle jest kod PHP czy inny język?

Tak troszkę abstrahując od powyższego - czy warto się uczyć mi takiego Angulara gdy cały projekt robię sam? Jaki jest próg wejścia bo na pewno nie można tego traktować jak kolejne jQuery? Czy w Anguarze stosuje się normalne templatki (boostrap, gotowe szablony) czy muszą one być jakoś dostosowane pod jego użycie?

Ten post edytował markonix 15.09.2016, 23:54:32


--------------------
Go to the top of the page
+Quote Post
WebCM
post 16.09.2016, 00:42:46
Post #2





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

Ostrzeżenie: (0%)
-----


Obecnie trwa bum na AngularJS, chociaż ostatnio szala przesuwa się na React. Po stronie serwera pisze się usługi, a po stronie klienta całą logikę prezentacji danych. Jako front-end developer musisz znać technologie wykorzystywane po stronie przeglądarki, czyli języki HTML, CSS, SASS, LESS, JavaScript, TypeScript, ES6, biblioteki AngularJS, jQuery, React, Embed.js, Bootstrap, Foundation, narzędzia npm, webpack, grunt, babel, bower, gulp i znacznie więcej. Minęły czasy, kiedy pisało się w czystym JavaScripcie, CSS i wystarczyło odświeżyć okno przeglądarki. Dziś większość firm używa jakiejś nakładki na JavaScript + LESS/SASS do generowania CSS-ów.


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
by_ikar
post 16.09.2016, 10:04:35
Post #3





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Minęły czasy, dlatego że i strony przestały być tylko stronami, a coraz bardziej są aplikacjami, których UI jest porównywalnie skomplikownay do tego w desktopowych aplikacjach. Mało tego, taką stronę-aplikacje możesz sobie opakować w elektrona/node-webkita/jakąś instancje chrome i możesz wówczas mieć aplikacje desktopową na różne systemy, w tym także mobilne. Strony przestały już czekać na kliknięcie użytkownika żeby przeładować treści, teraz bardzo modne jest tworzenie real-time aplikacji, w których mogą pracować całe zespoły. Ot dokumenty google, spróbuj takie coś ogarnąć w jquery, najlepiej w jednym pliku.
Go to the top of the page
+Quote Post
!*!
post 16.09.2016, 11:26:38
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(markonix @ 15.09.2016, 11:18:46 ) *
Frontendowiec kiedyś dla mnie był kimś kto kroił szablon i zrobił mi formularze


I w sumie niewiele się zmieniło poza tym że doszły do tego nowe narzędzia i wymagania, 10-15 lat temu ludzie jarali się display:table w css i jquery, dzisiaj bootstrapem, angularem za kilka lat pewnie dojdą nowe twory, rzekomo to postęp, ale kto ich tam wie... A prawda pewnie jest taka, że daliśmy frontendowcom możliwość "programowania" aby nie czuli się gorsi i w końcu zaczęli coś robić, a nie tylko wycinać PSD przez 8h w firmie biggrin.gif

Cytat(markonix @ 15.09.2016, 11:18:46 ) *
Jaka jest dzisiaj rola backendowca?


Taka sama jaka była zawsze, i to nie ma znaczenia jakich narzędzi użyjesz do back/front-endu. Nauka nowych rzeczy o ile nie są wymyślone od czapy, zawsze się przyda, szczególnie jeśli to nadbudówka już istniejących, angulara, boostrapa, less bez js,html,css nie ruszysz, więc start jest ułatwiony


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
markonix
post 16.09.2016, 15:18:52
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 16.09.2016, 12:26:38 ) *
Taka sama jaka była zawsze

No ale jeżeli użyty jest Angular w froncie to nie ma żadnej zmiany po stronie backendu?
Rola warstwy biznesowej zostaje w backendzie, ale np. routing, jakieś walidacje, widoki bo nie wiem czy zwraca tam się np. json a widok sam już sobie te dane wyświetla?


--------------------
Go to the top of the page
+Quote Post
Turson
post 16.09.2016, 15:32:35
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Jak Angular to najczęściej REST API jednak. Angular załatwia na froncie widoki, routing, walidację - ogółem całą logikę aplikacji, a treścią wymienia się z webserwisem
Go to the top of the page
+Quote Post
by_ikar
post 16.09.2016, 19:51:08
Post #7





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 16.09.2016, 12:26:38 ) *
I w sumie niewiele się zmieniło poza tym że doszły do tego nowe narzędzia i wymagania, 10-15 lat temu ludzie jarali się display:table w css i jquery, dzisiaj bootstrapem, angularem za kilka lat pewnie dojdą nowe twory, rzekomo to postęp, ale kto ich tam wie... A prawda pewnie jest taka, że daliśmy frontendowcom możliwość "programowania" aby nie czuli się gorsi i w końcu zaczęli coś robić, a nie tylko wycinać PSD przez 8h w firmie biggrin.gif


Nie. Zmieniły się przeglądarki. Od gównianego IE, które miało problemy z wszystkim, do aktualnych przeglądarek, które robią nawet więcej niż powinny. Teraz? Progresywne aplikacje, działające offline, aktualizujące się kiedy będzie już połączenie. Takie rzeczy nie były nawet do pomyślenia kiedyś. Trendy się zmieniły. Osobiście nigdy nie uważałem kogoś takiego jak frontendowca który sobie wycinał obrazki z PSD. Dla mnie to było dość mocno naciągane. Zresztą dlatego też powstały te wszystkie szablony dla PHP, których nigdy nie trawiłem.. A moja awersja do nich, okazała się przyszłościowa, bo trendy się odwracają, i teraz potrzebna jest tylko komunikacja z frontendem.
Go to the top of the page
+Quote Post
ziemniak
post 17.09.2016, 16:00:11
Post #8





Grupa: Zarejestrowani
Postów: 61
Pomógł: 1
Dołączył: 1.02.2011

Ostrzeżenie: (20%)
X----


Każda z technologii ma swoje zastosowanie i jej powodzenie zależy tylko od rynku i tego czy ktoś uzna że akurat w tej danej chwili jest ona najlepsza dla danego przypadku

Większość aplikacji szczególnie pracujących z urządzeniami peryferyjnymi jeszcze nie może być przeniesiona lecz moim zdaniem to się zmieni
Go to the top of the page
+Quote Post
zegarek84
post 17.09.2016, 20:57:08
Post #9





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


Cytat(ziemniak @ 17.09.2016, 17:00:11 ) *
Większość aplikacji szczególnie pracujących z urządzeniami peryferyjnymi jeszcze nie może być przeniesiona lecz moim zdaniem to się zmieni

jednak chyba masz na myśli urządzenia peryferyjne z automatyki... gdzie teraz urządzenia zarządzające takie jak Raspberry Pi są nie drogie i możesz odpalać na nich linux'a - więc gdzie problem uruchamiać języki skryptowe?? pewnie wyskoczysz o ogólnych kosztach gdzie wspomniałem, że małe... i o mikrokontrolerach które tańsze (a i tak wielu przepłaca za Arduino)... i dalej każdy chce zarobić... więc jedynie rodzinie zrobisz po totalnych kosztach...


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
!*!
post 18.09.2016, 09:58:13
Post #10





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


@by_ikar - właśnie trendy, a one nie zawsze idą w parze z logiką. Np. angular jest schematem budowy aplikacji głównie opartych o js, tym czym było jquery dla ajaxa, wprowadza jeden, wspólny mechanizm. To czy dobrze zostanie on wykorzystany i czy prócz niego powinien działać stary, dobry backend to zależy od wyobraźni twórców aplikacji. A powiedz mi, bo chyba siedzisz w tym więcej niż ja, jak aplikacje tworzone w angularze mają się do indeksowania przez wyszukiwark (kilka lat temu google eksperymentowało z js, ale koniec końców nie wiem jak to się skończyło)


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Comandeer
post 18.09.2016, 14:04:08
Post #11





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Cytat
A powiedz mi, bo chyba siedzisz w tym więcej niż ja, jak aplikacje tworzone w angularze mają się do indeksowania przez wyszukiwark

Nijak – stąd powstało http://prerender.io. A później ludzie przypomnieli sobie, że istnieje coś takiego jak "server-side rendering". Wielkie odkrycie 2015: stronę można generować na serwerze, wow-wow. Problem polega na tym, że z powodu tego, że taki React.js czy Angular.js są de facto w pełni oparte na DOM-ie, więc… generowanie po stronie serwera sprowadza się do odpalenia phantom.js/innego headless webkita i zescrape'owaniu DOM-u. Szaleństwo? Może, ale działa wink.gif To samo się obecnie kombinuje dla Web Components. Czyli mamy takie Progressive Enhancement 3.0.

Równocześnie gdzieś się zatracił pierwotny nurt isomorphic webapps – chyba jedynym sensownym frameworkiem, który został z niego, jest Taunus. Z drugiej strony: boom na mikroserwisy przyciągnął ludzi ponownie do pomysłu z middleend (które dzisiaj się zwie "backends for frontends"). Czyli w skrócie: twardy backend to po prostu REST API (nieważne w jakiej technologii). Z tym backendem komunikuje się middleend, który generuje stronę (inną w zależności od tego, jaki klient się komunikuje) – i zajmuje się praktycznie wyłącznie tym – i przesyła do usera. Tam frontend przejmuje władzę i upgrade'uje całą komunikację z middlend przy pomocy Ajaksa. I jakbym miał zrobić całą skomplikowaną webappkę z backiem, to właśnie bym zrobił backend → middleend → frontend (w sumie będę wkrótce robił tongue.gif).

No i nie można zapomnieć o nurcie Progressive Web Apps.


--------------------
Go to the top of the page
+Quote Post
by_ikar
post 5.10.2016, 12:46:33
Post #12





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 18.09.2016, 10:58:13 ) *
A powiedz mi, bo chyba siedzisz w tym więcej niż ja, jak aplikacje tworzone w angularze mają się do indeksowania przez wyszukiwark (kilka lat temu google eksperymentowało z js, ale koniec końców nie wiem jak to się skończyło)

Wszystkie dostępne roboty internetowe wyszukiwarek działają synchronicznie, więc wszelkiej maści rzeczy które wymagają czas na załadowanie się, po prostu są pomijane. Działać JS działa, ale nie czeka taki crawler aż coś tam się z jakiegoś zasobu pobierze.

Cytat(!*! @ 18.09.2016, 10:58:13 ) *
@by_ikar - właśnie trendy, a one nie zawsze idą w parze z logiką.

Osobiście mam do tego podejście że nie powinno się wszystkiego robić w angularze/reakcie/emberze/(czy co kto tam jeszcze wymyśli). Można napisać blog'a w jednym z powyższych, tyle tylko czy to powinno być tak zrobione. Jestem zwolennikiem "właściwa technologia do właściwego zastosowania" a nie jakieś fanatyczne "ja to umiem to będę w tym robić". Coś ala stawianie serwerów websocketowych w przykładowo php. Móc można, ale czy to powinno być w tym zrobione? Dlatego powstają jakieś alternatywy o których wspomniał @Comandeer, taki ratunek dla tych którzy muszą mieć bloga w angularze z jakiegoś powodu, ale potrzebują żeby to było dobrze indeksowane przez boty.
Go to the top of the page
+Quote Post
Dejmien_85
post 19.10.2016, 10:53:38
Post #13





Grupa: Zarejestrowani
Postów: 251
Pomógł: 23
Dołączył: 23.04.2013

Ostrzeżenie: (0%)
-----


Cytat(by_ikar @ 16.09.2016, 11:04:35 ) *
Minęły czasy, dlatego że i strony przestały być tylko stronami, a coraz bardziej są aplikacjami, których UI jest porównywalnie skomplikownay do tego w desktopowych aplikacjach. Mało tego, taką stronę-aplikacje możesz sobie opakować w elektrona/node-webkita/jakąś instancje chrome i możesz wówczas mieć aplikacje desktopową na różne systemy, w tym także mobilne. Strony przestały już czekać na kliknięcie użytkownika żeby przeładować treści, teraz bardzo modne jest tworzenie real-time aplikacji, w których mogą pracować całe zespoły. Ot dokumenty google, spróbuj takie coś ogarnąć w jquery, najlepiej w jednym pliku.


Ta opinia jest najbliższa moim obecnym odczuciom.

Gdy zaczynałem karierę programisty na zaszczytnym stanowisku "klepacza PHP", wtedy oprócz logiki sporo czasu spędzałem na HTML-ach i przygotowywaniu widoków (taka niestety rola PHP-owca była, chcąc nie chcąc zawsze trzeba gdzieś wypluć HTML-a i ruszyć go trochę choćby w mniejszym stopniu).
Przykładowo Wordpress wymagał (i dalej wymaga!), aby człowiek na backendzie obsłużył generowanie widoku. Lepiej było z frameworkami (np. CodeIgniter - ciągle mówię o starych czasach), tam warstwa logiki była już całkiem fajnie oddzielona od prezentacji, "klepacz PHP" powol przekształcił się w programistę (niestety, ale Wordpress wypaczył umysł wielu niczego nieświadomym ofiarom).

Dla mnie frontendowiec był za tamtych czasów osobą, która znała dobrze HTML, CSS, potrafiła obsłużyć Photoshopa, a także i sieknąć fajny slider w JavaScripcie (lub jQuery).

To co się stało później to już dość spora rewolucja. Zgadzam się, że aktualnie aplikacje napisane w JS przypominają złożonością aplikacje desktopowe. Przyznam, że byłem w dwóch projektach, w których złożoność apki SPA napisanej w Angularze i Backbonie była bardziej skomplikowana, niż przeciętna apka desktopowa z jaką człowiek na co dzień się boryka. Te apki to już poważne monstra, które trzymają swój stan i borykają się z tematami wycieków pamięci (i tutaj czas docenić prostotę PHP, tj. działanie tylko na czas żądania HTTP).

Co prawda sporo rzeczy dzieje się ciągle na backendzie, jednak front obsługuje znaczą część logiki biznesowej (zdałem sobie z tego sprawę gdy zauważyłem, że zespoły frontendowe pracowaly nad zadaniami, którey zawierały w sobie logikę biznesową). Oczywiście nie wszystko może dziać się na froncie, bo kod JS jest dostępny publicznie, jednak naprawdę wiele, wiele, bardzo wiele dzieje się na froncie. To już nie te stare czasy, kiedy wypluwało się templatkę strony i ewentualnoe dodawało kilka smaczków przez jQuery (poprawka: niektórzy tak jeszcze robią).

Ale, ale - to bardzo dobre dla backendu. Backend ma jasne i dobrze określone zadania, które opierają się głównie na przetwarzaniu danych i obsłudze bazy danych. Mnie osobiście aktualny stan rzeczy odpowiada. Jest jasny podział pomiędzy frontem i backendem. Lubię to. Jedyne co łączy frontend i backend to kanał I/O. Tak powinno być. Człowiek może zmienić cały backend, przepisać apkę z języka A na język B nie tykając nawet jednego bitu w aplikacji frontendowej. I to samo działa w drugą stronę.

BTW. Aktualnie jest straszny brak frontendowców na rynku, słyszałem to od managerów ze swojej firmy, a także kolegów pracujących w innych firmach (także na stanowiskach managerskich).

Cytat(!*! @ 16.09.2016, 12:26:38 ) *
I w sumie niewiele się zmieniło poza tym że doszły do tego nowe narzędzia i wymagania,


Obywatelu, ostatnie 5 lat to chyba w jakiejś jaskini przesiedzieliście. ; )
Go to the top of the page
+Quote Post
pyro
post 19.10.2016, 12:03:16
Post #14





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Przy okazji tematu tak mi się przypomniało:



laugh.gif


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
Comandeer
post 19.10.2016, 14:01:40
Post #15





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


O, to słynne zdjęcie, które nijak się ma do dzisiejszej rzeczywistości… Tak, śmieszne wink.gif


--------------------
Go to the top of the page
+Quote Post
!*!
post 20.10.2016, 13:43:29
Post #16





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(Dejmien_85 @ 19.10.2016, 11:53:38 ) *
Ale, ale - to bardzo dobre dla backendu. Backend ma jasne i dobrze określone zadania, które opierają się głównie na przetwarzaniu danych i obsłudze bazy danych. Mnie osobiście aktualny stan rzeczy odpowiada. Jest jasny podział pomiędzy frontem i backendem. Lubię to. Jedyne co łączy frontend i backend to kanał I/O. Tak powinno być. Człowiek może zmienić cały backend, przepisać apkę z języka A na język B nie tykając nawet jednego bitu w aplikacji frontendowej. I to samo działa w drugą stronę.


Tylko, że tak było od... zawsze?

Cytat(Dejmien_85 @ 19.10.2016, 11:53:38 ) *
Obywatelu, ostatnie 5 lat to chyba w jakiejś jaskini przesiedzieliście. ; )


Ale z klimatyzacją i skrzynką whisky wink.gif Za kilka lat być może nie będziemy słyszeli o połowie z tych narzędzi, albo i nie biorąc pod uwagę jak co niektórzy zachłysnęli się tymi "nowinkami". I nie mam nic do tego co i w czym zostanie zrobiona określona funkcja serwisu/aplikacji byleby nikt nie wchodził sobie w paradę, tylko że czasami od tych bzdur wygłaszanych przez... chciałem napisać fanatyków, ale to było by za mocne, dostaje gorączki... Przykładowo menadżer projektu w jednej z trójmiejskich firm radośnie oznajmił "porzucamy jQuery, ponieważ jest angular" i fajnie, firma robi aplikacje głównie mobilne, gdzie faktycznie angular jest niekiedy plusem, ALE to było wypowiedziane w kontekście jakiejś małej funkcji która miała działać asynchronicznie...

Za kilka lat czeka Nas wszystkich rewolucja... Ktoś odkryje że logika biznesowa może być generowana po stronie serwera, a cały frontend nie musi być inwazyjny a na dodatek nie będzie katował urządzeń na których jest wyświetlany. Mówię Wam, to zatrzęsie całą sceną... web2.0 to pikuś.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
memory
post 20.10.2016, 14:27:04
Post #17





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

Ostrzeżenie: (0%)
-----


jeszcze nikt tego nie wrzucił

https://hackernoon.com/how-it-feels-to-lear...577f#.qk7s70yvq
Go to the top of the page
+Quote Post
Comandeer
post 20.10.2016, 17:26:18
Post #18





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Cytat
Za kilka lat czeka Nas wszystkich rewolucja... Ktoś odkryje że logika biznesowa może być generowana po stronie serwera, a cały frontend nie musi być inwazyjny a na dodatek nie będzie katował urządzeń na których jest wyświetlany.


Już się zaczęło przecież. Ember zaczął i nagle w obozach Reacta i Angulara zauważyli, że coś w tym może być wink.gif


--------------------
Go to the top of the page
+Quote Post
Dejmien_85
post 21.10.2016, 13:13:21
Post #19





Grupa: Zarejestrowani
Postów: 251
Pomógł: 23
Dołączył: 23.04.2013

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 20.10.2016, 14:43:29 ) *
Za kilka lat czeka Nas wszystkich rewolucja... Ktoś odkryje że logika biznesowa może być generowana po stronie serwera


Sądzę, że ta teoria ma swoje dobre strony, przykładowo fronty byłyby bezpieczne, bo backend mógłby sobie na serwerze po cichu obrabiać ważną logikę (nie pokazując kodu tej logiki) - wiemy jak to wygląda na froncie, kod jest dostępny i można się próbować wbijać do apki.

Zastanawiam się jednak jak to odnosi się do zasad SOLID (głównie do literki S), a także do znanego stwierdzenia "Low Coupling i High Cohesion". Mam tutaj na myśli mieszanie frontów w backendzie. Automatycznie tworzymy monolita, w którym backend i front są od siebie zależne i pogłębiają tą zależność z każdą linia kodu.

Cytat(!*! @ 20.10.2016, 14:43:29 ) *
, a cały frontend nie musi być inwazyjny a na dodatek nie będzie katował urządzeń na których jest wyświetlany.


Możesz wyjaśnić co masz dokładnie na myśli?

Wydaje mi się, w tym wypadku inwazyjność fontendu się pogłębi - zacznie podbijać backendy.
Nie wiem też dokładnie co masz na myśli poprzez "katowanie" urządzeń.

Ostatecznie generowanie frontów na backendzie nie różni się niczym od podrzuceniem linku do zwykłego pliku JS. Na backu można wygenerować tylko statyczne strony i pliki, później i tak to wszystko
musi wczytać przeglądarka i przerabiać. Wydaje mi się, że z katowaniem nic się nie zmieni.

Cytat(Comandeer @ 20.10.2016, 18:26:18 ) *
Już się zaczęło przecież. Ember zaczął i nagle w obozach Reacta i Angulara zauważyli, że coś w tym może być wink.gif


O własnie, Ty tutaj jesteś Yodą od frontów, mam do Ciebie pytanie.

Zastanawiałem się jaki jest sens generowania frontów na backendzie. Gdy jakiś czas temu grzebałem się w jednej apce z Reactem i przeszukiwałem samouczki, to widziałem
w kilku miejscach przykładu kodu, w którym komponenty reacta były generowane z backnedu (Node je wypluwał).

Nie zastanawiałem się nad tym zbytnio, bo nie miałem czasu, ale urodziło się wtedy pytanie w mojej głowie.
Przejrzałem przelotnie tamten kod, to co było napisane w backendowym-react nie różniło się zbytnio niczym od frontendowego-reacta (były to po prostu najzwyczajniej w świecie napisane komponety, tak samo jak się je pisze dla "frontów").

Pytanie więc brzmi - jaki jest cel takiego działania? Podziel się proszę swoją mądrością. ; )

Ten post edytował Dejmien_85 21.10.2016, 13:02:01
Go to the top of the page
+Quote Post
Comandeer
post 21.10.2016, 14:12:38
Post #20





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Cel jest prosty: dostarczyć aplikację większej liczbie userów. W tym wypadku, jeśli oprócz app shella posyłamy także jakąkolwiek podstawową treść, user otrzyma przynajmniej krytyczną część naszej aplikacji. To się może przydać przy tak ważnych usługach jak e-mail (GMail to dobrze ogarnia, bo działa nawet na Lynksie!), gdzie tego typu server-rendering jest po prostu fallbackiem jakby JS-a jednak zabrakło (bo np. user właśnie wjechał do długiego tunelu kolejowego i internetu ani widu ani słychu, a nasze 800 KB Angulara się nie zdążyło ściągnąć).

Tyle z punktu widzenia PE (BTW w najbliższym czasie skubnę serię artków na temat pisania aplikacji w ten sposób ). Natomiast najbardziej trywialny powód (który zapewne twórcom Embera przyświeca bardziej niż moje pieprzenie o "większej dostępności" wink.gif) to po prostu większa wydajność. Server-side rendering zawsze jest szybszy przy pierwszym wczytaniu strony – nie trzeba bowiem czekać na zassanie całego silnika JS, żeby wygenerować cokolwiek na ekranie. Natomiast przy kolejnych wczytaniach strony oczywiście leci to już client side (albo wręcz offline/z cache'u jeśli mamy dostęp do Service Workera).

No i jest jeszcze jeden powód, dla którego takie rzeczy się robi: SEO. Google co prawda w JS umie, ale zaawansowanego Ajaksa i tak nie przetworzy, stąd server-side rendering pozwala łatwiej i skuteczniej pozycjonować treść.

Ten post edytował Comandeer 21.10.2016, 14:14:29


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 21:10