Jak tworzy się dziś strony i aplikacje internetowe?

Hej :slight_smile:
Ostatnio narodziło mi się pytanie: Jak właściwie dzisiaj tworzone są strony i apki internetowe. Zakładam że pewnie nie jest to już tylko PHP + JS + CSS, tylko chyba wygląda to już inaczej. Oczywiście też rozumiem że inaczej buduje się wizytówkę lokalnego sklepu ogrodniczego a inaczej jakąś aplikację dla korpo z wykresami itp. i właśnie moje pytanie brzmi jakie technologie są używane, frameworki itp…

Z góry dziękuję
Pozdrawiam i życzę dobrych wakacji :slight_smile:

Bardzo ogólny temat i nie da się jednoznacznie na niego odpowiedzieć :slightly_smiling_face: małe strony dalej robi się w tych technologiach, do nieco bardziej zaawansowanych stosuje się już frameworki w php a do największych portali asp.net :slight_smile: to oczywiście w dużym uproszczeniu bo jest jeszcze kwestia frameworkow client side jak angular itd. Napisz konkretnie co cię interesuje

1 polubienie

@hindus dzięki za odp. :slight_smile:
No właśnie dzisiaj chyba często robi się mix technologii i frameworków. Niestety np: na uczelni jest uczony czysty PHP i np: JS z (o ile starczy czasu) jQuery, ale chyba zawodowo wygląda to całkiem inaczej. Zastanawiam się ile nowych aplikacji i tych utrzymywanych jest jeszcze w tym klasycznym zestawieniu, a na ile powinniśmy (w sensie studenci i nie tylko) uczyć takich egzotycznych (dla nas) technologii jak React.JS, Angular, RoR itp… nie zależnie czy front czy backend aplikacji. Jakkolwiek głupio brzmi to pytanie to co “jest teraz w modzie” w tworzeniu aplikacji internetowych ? Czy twórcy tworzą strony od 0 czy np: z jakiś szablonów ? Czy dalej króluje MVC w kwestii wzorca ?
Może te pytania są dość płytkie, ale serio nurtują mnie bardzo mocno.
Z góry dzięki :slight_smile:

Strony wizytówki robi się najczęściej na bazie gotowego CMSa, np. WordPressa. Czyli jest to PHP, JS, HTML i CSS. Tylko, że nie piszę się wszystkiego w PHP od zera tylko najczęściej wdraża się szablon pod danego CMS plus ewentualnie rozszerza jego funkcjonalności przez dedykowane pluginy (albo i gotowe).

Jeśli chodzi o bardziej złożone aplikacje (część rzeczy ma też zastosowanie w prostych stronach) to rozdziela się tutaj dwie warstwy, frontend i backend.
Na frontendzie mamy JS, HTML i CSS oraz masę bibliotek, frameworków, a co za tym idzie zastosowanych wzorców projektowych - co najmniej MVC lub MVVM.
Backend to zależy od założeń aplikacji, może być napisany w: PHP, Ruby, Python, Node.js, C#. Wszystko zależy od przeznaczenia, środowiska oraz tego w czym klient chce mieć napisaną pakę. Oczywiści to tylko język i w przypadku każdego stosuje się odpowiedni framework. I tak dla PHP może to być Symfony, Laravel lub coś innego, Ruby zazwyczaj z Ruby on Rails, Python to django, Node.js - nie wiem, a C# to asp.Net.
Skoro mamy framework to też z automatu wzorce projektowe.

Niestety to tylko wierzchołek góry lodowej. Do tego wszystkiego dochodzą jeszcze takie rzeczy jak webservery. Na Froncie też webworkery i cała masa API przeglądarki jak local storage.

Niestety nie mogę się zgodzić z @hindus, że do największych portali stosuje się asp.net, to nie jest prawdą. Asp.net stosuje się zazwyczaj w przypadku rozwiązań korporacyjnych, a to nie są największe portale wręcz małe tylko dla danej firmy lub partnerów. Podobnie jest z Java EE i Spring (o którym zapomniałem wspomnieć wyżej), jest to środowisko raczej korporacyjne. Powodem tego jest to, że korporacje mają kasę na potrzebne licencje. Startupy czyli często duże aplikacje wykorzystują inne technologie które zmniejszają koszta na samym początku tworzenia aplikacji, czyli będą szły raczej w kierunku Ruby/Python a ostatnio Node jest na fali niż asp.net i java ee.
Ok java jest darmowa, ale aplikacja potrzebuje więcej zasobów czyli potrzeba lepszy serwerów a to są koszty.

PHP jest obecnie w miejscu gdzie albo dalej będzie zyskiwał, albo zaraz zacznie się od niego odchodzić. Przetrwał tyle ile przetrwał tylko dzięki temu, że była w nim napisana masa kodu oraz był popularny na hostingach. Obecnie sytuacja się zmienia i bardzo łatwo bez dodatkowych kosztów znaleźć hosting pod aplikację w rubym, pythoneie czy node. PHP 7 wprowadził powiew świeżości i daje nadzieję, że będzie lepiej, ale ma silne alternatywy i tak jak powiedziałem w najbliższym czasie okaże się co z tym językiem będzie. Na pewno pracy na najbliższe lata będzie sporo, ale w najgorszym przypadku będzie to praca z legacy code.

Moje prywatne zdanie odnośnie php jest takie, że gdyby nie Symfony to dla mnie ten język mógłby przestać istnieć i byłbym w stanie przenieść się na Ruby lub Node.js. Ale, że jest Symfony, a ja znam całkiem nieźle php to jeszcze się go trzymam.

1 polubienie

Nie masz racji, żeby iść dalej trzeba mieć dobre podstawy tego jak wygląda przepływ informacji w klasycznej czyli najprostszej wersji aplikacji. jQuery to biblioteka która dzięki ECMAScript 6 straciła trochę na popularności. Dzisiaj można tworzyć nawet lepszy kod przy pomocy czystego JS niż z wykorzystaniem jQuery.

No i właśnie przypomniało mi się o czym zapomniałem napisać wyżej. Języki i frameworki to podstawy, bardzo ważna jest dziś znajomość narzędzi. Zwłaszcza w przypadku frontu musisz znać jakiegoś menadżera pakietów, task runnera, browserify, testy jednostkowe oraz umieć wykorzystać transpiler np. BabelJS.

PS. Odnośnie jeszcze tego co zacytowałem, często widzę ludzi którzy nauczyli się frejłorków i klepią kod, a jak coś nie zadziała to koniec świata bo nie znają podstaw tego jak działają aplikacje webowe, a gdzie tam miałby taki jeden z drugim pojęcie o tym jak działa HTTP. Pytanie jest takie, chcesz być klepaczem kodu czy świadomym programistą.

1 polubienie

dzięki za rzeczową odpowiedź :slight_smile:
Kurcze, myślę że w moim przypadku jest problem że nie wiem chyba co chce dokładnie robić :confused: Czy robić backend czy front, jeżeli chodzi o technologie to mam myślę nie najgorsze podstawy z PHPa jak i z JSa. Chyba muszę po prostu po robić jakieś projekty i więcej się douczyć, dzięki za wasze odpowiedzi :wink:
Jeszcze raz życzę wam dobrych wakacji :slight_smile:

Są duże portale oparte o PHP, na przykład Facebook zaczynał od PHP i dalej część jest w nim napisana, natomiast w backendzie działają usługi napisane w C++ oraz tysiąc innych technologii.

Pracując w dużej korporacji mogę powiedzieć, że naprawdę stosujemy dziesiątki różnych technologii. Wybór uzależniamy głównie od popularności (a co za tym idzie - wsparcia), ale także od świeżości. Przykładem może być wdrożenie Angulara zamiast generowania całych stron po stronie serwera. Oczywiście są plusy i minusy, jak zresztą z każdą technologią.

Najlepiej spróbować różnych rzeczy i zobaczyć w czym dobrze nam idzie. W każdej technologii będzie zapotrzebowanie na specjalistów, ważne, żeby naprawdę dobrze ogarniać temat. Jak nauczysz się pewnych wzorców to przejście na inną technologię będzie już proste.

PS. :wink:

1 polubienie

Chwilowo mam tak drewnianą klawiaturę, że znacznym stopniu skupiam się na tym czy klawisze na pewno zaskoczył, a nie poprawności pisania :stuck_out_tongue: . Ale czego oczekiwać od klawiatury za 14zł, sukcesem jest, że działa :smiley:.

można tworzyć za pomocą różnych ułatwiaczy https://www.craftercms.org

To są narzędzia dla Januszy co to na stronę nie wyda pińćset złoty bo to majętek i mu jeszcze ktoś pomysł ukradnie bo on ma sposób na zarobienie pinindzy, wręcz milionów.

Na kilometr można rozpoznać strony wiklikane przy pomocy tych narzędzi i nic profesjonalnego w tym nie powstaje. Nikt normalny nawet nie rozważa takich narzędzi gdy poważnie myśli o zrobieniu strony, a co dopiero zajęciu się tworzeniem.

To zrób tutorial albo poradnik jak zrobić taką strone dla Januszy żeby zrozumieli,przecież nikt nie będzie szedł na studia infoormatyczne ży sobie zrobić strone internetową.

W takiej sytuacji zlecasz zadanie fachowcom.

Proszę bardzo poradnik dla Januszy jak zrobić prostą stronę internetową:

  1. Znajdź firmę lub osobę która się tym zajmuje profesjonalnie
  2. Zleć wykonanie strony według własnych wskazówek i wymagań
  3. Przetestuj stronę demonstracyjną
  4. Zgłoś ewentualne poprawki i je przetestuj
  5. Zapłać za usługę i odbierz stronę
3 polubienia

a jak kitoś nie ma kasy a koniecznie hce mieć strone?

A po co mu strona w takim razie? Zazwyczaj jak ktoś potrzebuje stronę to jest to mniej lub bardziej związane z biznesem, a niestety pieniędzy nie da się zarabiać bez inwestowania. Więc jak zrobisz sobie stronę za darmo to na niej nic nie zarobisz.

https://sites.google.com/ można za darmo sobie zrobić

Spoko, tylko co z tego? Jaki to ma związek z tematem i po co komu taka strona, która będzie odstraszała użytkowników, a bez nich nie ma sensu robić strony.

1 polubienie

Dlaczego Symfony a nie CodeIgniter, czy bardziej popularny framework Laravel? Moim zdaniem php jest dobrym językiem i warto się go uczyć. Nie mówię, aby olać JS, Noda i wszystkich frameworków opartych na JS, ale nie każdy hosting ma node.js.

Ale nie problem taki znaleźć w przeciwieństwie do tego jak było kilka lat temu gdzie znaleźć hosting z innym interpreterem niż PHP nie było nawet opcji. Chciałeś pythona lub ruby (w tedy node nie było jeszcze) to musiałeś bawić się w vps albo dedyka.

Laravel jest kiepski, jedyny jego plus to nisku próg wejścia. Codeigniter nie miałem przyjemności, ale nie wygląda zachęcająco patrząc po przykładach z dokumentacji i porównując do Symfony wygląda marnie. Symfony ma tą przewagę, że jest częściowo kompilowany co przyśpiesza czas ładowania strony, dodatkowo dzięki temu masz coś takiego jak annotation podobne do tych z C# i asp.net, w ogóle Symfony to niezły majstersztyk, masa dobrze zaimplementowanych wzorców do tego wymusza bardzo dobry podział kodu.

Sorki, ale php jest strasznie słabym językiem, masa problemów i braków w postaci rzeczy które są oczywiste i podstawowymi elementami w innych językach. Nie wiem czemu wrzuciłeś JS i Node do jednego worka, to są dwa odrębne środowiska o diametralnie innym przeznaczeniu, jedyne co je łączy to, że oba implementują tą samą składnię języka ECMAScript. Nic innego je nie łączy. Podobnie jak Jave i JavaScript.

A skąd o tym wiesz? Domyślam się, że liznąłeś, nie wyszło i dlatego kiepski? A no tak już wiem, w Polsce większość ofert pracy wymaga Symfony i dlatego jest dobry, tak? Wiesz, ja do symfony nic nie mam, ale nie uważam, aby inne frameworki jak i sam php był słaby.

Tu się z Tobą nie zgodzę. To tak jak bym napisał, że java, ruby też są słabymi językami.

Nie wrzuciłem do jednego worka, chyba, że dla Ciebie wymienienie w postaci JS, Node.js jest wrzuceniem, ale to źle odebrałeś:)
Lepiej zapoznaj się z tą stroną i zobaczymy, czy nadal będziesz uważał, że Symfony jest najlepszy. https://www.amarinfotech.com/best-php-frameworks-list.html
I jeszcze tu:
https://coderseye.com/best-php-frameworks-for-web-developers/