Który framework do backendu dla początkującego?

Który framework do backendu dla początkującego?
V5
  • Rejestracja:prawie 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:46
0

Który framewprkdo backendu dla początkującego polecacie?
Django vs express.js vs Laravel

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:3 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
1
ved54474 napisał(a):

Który framewprkdo backendu dla początkującego polecacie?
Django vs express.js vs Laravel

  • Jak nie chcesz całe życie klepać stronek i sklepów internetowych to żadne z powyższych (tylko potem nie narzekaj że się wypaliłeś po 5 latach*)
  • Jak chcesz - to strzelam że express.js jest najbardziej przyszłościowy (bo JavaScript, bo asynchroniczny)

*Oczywiście wiem że są tacy co to lubią. Piszę ze swojej perspektywy


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
V5
  • Rejestracja:prawie 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:46
0

A jak nie chce, to który?

AN
  • Rejestracja:prawie 11 lat
  • Ostatnio:około godziny
  • Postów:973
0

Django jest spoko, Laravel z tego co wiem też jest spoko ale to już PHP. Może spróbuj w obu jakieś małe stronki napisać i wybierz, w którym lepiej się czujesz


Zdalna praca dla Senior Python Developerów --> PW
semicolon
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:114
2

Daj znać czy język w jakim piszesz soft ma dla Ciebie jakiekolwiek znaczenie, a jeśli nie ma to dlaczego?

Webowo to z tych 3 ram, express jest najlepiej do przodu pod względem asynchronicznych rzeczy (ogólnie cały ekosystem node jest asynchroniczny), ale ze względu, że nadal to jest javascript i protezy to nowym osobom ciężej będzie się w tym wszystkim odnaleźć. Już prościej (i mniej denerwujace narzędzia) miałbyś poznając język Go czy Elixir.

Laravel ma ten minus i plus, że jest pisany w PHP. Potencjalnie łatwiej mógłbyś z PHP łatwiej rozkręcić firmę, która koncentruje się na prostszych zleceniach.

A Django jest dobry jeśli chcesz być bliżej Pythona, i jeśli po pewnym czasie będziesz chciał przestawić się na coś jeszcze np. ML, OpenCV czy też prace związane z DevOps

edytowany 1x, ostatnio: semicolon
AK
W tym dużym akapicie popraw styl, jest niejasno. Do do wyboru ekosystemów dwóch języków, zgadzam się z przesłaniem
semicolon
@AnyKtokolwiek: nie widzę takich rzeczy, dlatego jeśli możesz puść mi wiadomosć prywatną z poprawką. Dzięki!
V5
  • Rejestracja:prawie 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:46
0

Czyli Go bylby spoko? A jeśli jestem początkujący to tez?
Nie ma dla mnie znaczenia język bo i tak we wszystkich umiem tyle samo, czyli podstawy (pętle, zmienne, funkcje, struktury danych, OOP)

semicolon
Go jest kompilowany, prymitywny (brak rozpędu w kierunku abstrakcji). Czyli jak zrobisz gafę to łatwiej jest zrozumieć z czego wynika. W większość przypadków błąd otrzymujesz na etapie budowania programu wraz z komunikatem, a nie np. na serwerze. Dla mnie ten język jest okropny, ale dla osób początkujących IMO genialny.
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:3 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
0
ved54474 napisał(a):

Czyli Go bylby spoko? A jeśli jestem początkujący to tez?
Nie ma dla mnie znaczenia język bo i tak we wszystkich umiem tyle samo, czyli podstawy (pętle, zmienne, funkcje, struktury danych, OOP)

To dużo wiesz, bo ja nie odważyłbym się powiedzieć, że we wszystkich językach umiem OOP. Zwłaszcza że w niektórych OOP nie ma. Np w Go


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 2x, ostatnio: KamilAdam
V5
  • Rejestracja:prawie 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:46
0

Umiem podstawy OOP
Go nie umiem ale moge sie nauczyc
I ponawiam pytanie, bo nie napisales ktory framework jesli zaden z trojki express, django, laravel

edytowany 1x, ostatnio: ved54474
IK
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 2 lata
0

Django jest o tyle fajne do nauki, ze jest to kompletny framework - zawiera wszystko, od uwierzytelniania, przez renderer szablonow i ORM po zabezpieczenia przed popularnymi atakami. Sciagasz Django i nie przejmujesz sie kompatybilnoscia miedzy libka do walidacji formularzy a renderowaniem szablonow, a w wolnoamerykanskim systemie wersjonowania w npmie bardzo czesto libka X nie dziala z Y jesli nie zainstalujesz wersji z dokladnoscia do minora. Z drugiej strony trzeba miec naprawde duzo dyscypliny i samozaparcia zeby w Django nie zrobic spaghetti i o ile lubie ten framework, nie moge go polecic do wiekszych projektow - zawsze, chocby nie wiem co, wychodzi z tego wielki clusterfuck proporcjonalny do ilosci deweloperow ktorzy pracowali nad jego kodem.

Express jest dosc minimalistyczny, nie polecam go na poczatek dla poczatkujacego bo zbyt duzy wybor i swoboda przyprawia cie tylko o bol glowy.

Laravela nie znam, wiec nie dam ci innej rady niz "olej to, bo to PHP" :)

Na start polecam ci nauczyc sie Django, RoRa, lub innego "pelnego" frameworka, jak zalapiesz jak dziala web, przed czym trzeba sie zabezpieczac i jak podchodzic do powszechnych problemow w webdevie mozesz zaczac skubac cos w mniej "opinionated" libce - tych w kazdym jezyku jest od groma.

V5
  • Rejestracja:prawie 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:46
0

A jeśli nie django? Bo mam problem i naprawdopodobniej musiałbym reinstalować system, a mi sie nie chce troche, więc django odpada

IK
No napisalem przeciez - RoR
V5
Czytałem i RoRa kudzie odradzają na necie
IK
A czego nie odradzaja? :)
V5
expressa i django ale z django mam problem to pewnie expressa wybiore
UglyMan
  • Rejestracja:około 6 lat
  • Ostatnio:około 3 lata
  • Postów:2206
2

Naucz się jednego języka porządnie o potem dopiero zajmuj się wybieraniem frameworka. I jak problem z zainstalowaniem jakiejś biblioteki stanowi dla ciebie problem to może od razu poszukaj innego zajęcia, bo niestety, ale takie problemy to kwintesencja życia programisty:)

V5
pytałem o poradę z problemem z django w paru miejscach i nikt nie potrafił pomóc, ciekawe czy ty byłbys w stanie
IK
Daj nam sie wykazac :)
V5
Okej to w dziale o pythonie
NN
NN
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 4 lata
  • Postów:239
1
ved54474 napisał(a):

A jeśli nie django? Bo mam problem i naprawdopodobniej musiałbym reinstalować system, a mi sie nie chce troche, więc django odpada

Siedzisz na Viście czy co?

NN
I dlaczego masz reinstalować?
V5
Okej to napisze w dziale o pythonie
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:3 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
1
ved54474 napisał(a):

A jak nie chce, to który?

Tak jak @tomek Pycia pisze. Naucz się jakiegoś języka porządnie. Najlepiej statycznie typowanego. Szeroko rozumiany Backend to nie tylko frameworki do robienia stronek. Zresztą rynek frameworków do generowania htmla po stronie backendu cały czas się kurczy i te frameworki są wypieranie przez frameworki które budują htmla po stronie frontendu.
Prawdopodobnie dlatego odradzano CI w internecie RoRa. Ale wady RoRa są też wadami Django i Laravela

BTW RoR ma opinię najbardziej przełomowego frameworka do generowania htmla po stronie backendu

Ale co to znaczy nauczyć się języka porządnie?

Najpierw naucz się języka, a potem frameworka do tego. Bo jak będziesz uczyć się na odwrót to możliwe, że twoje pojęcie o języku będzie spaczone przez twórców frameworka. Nie chodzi mi o wykucie wszystkiego na blachę. Ale jeśli rozważasz Django, to najpierw ściągnij sobie Pythona i przerób jakiś tutorial tego języka. Zobacz czy dynamiczne typowanie jest dla Ciebie. Zobacz czy znaczące wcięcia są dla Ciebie. Może zaimplementuj jakieś wzorce w tym języku lub aplikację konsolową. A dopiero potem instaluj Django


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: cerrato
V5
  • Rejestracja:prawie 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:46
1

Ale kiedy mam wiedzieć że już sie nauczyłem języka i powinienem przejsc do frameworka?

Zobacz pozostałe 10 komentarzy
V5
UglyMan
To będziesz przeciętny we wszystkim a dobry w niczym. To rzuć monetą, wybierz jedną technologię i w niej się rozwija. Możesz też, wejść na jakiegoś pracuj .pl, wpisać nazwę każdego z frameworków i zobaczyć w którym jest najwięcej pracy. Pamiętaj ze im więcej pracy z reguły tym większa konkurencja na rynku. Możesz to poszukać jakichś ofert i zobaczyć, jakich framewroków wymagają w interesujących sie ofertach.
PerlMonk
@Tomek Pycia: Co znaczy "być dobrym" w jakiejś technologii? Znać dokumentację na pamięć?
UglyMan
@PerlMonk: Ni będę ci tłumaczył, bo i tak nie zrozumiesz.
PerlMonk
@Tomek Pycia: Ty hultaju ty jeden ty!
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0

To już twój kolejny zbliżony temat, polecam wordpressa, sporo zleceń, łatwe wejście.


siloam
  • Rejestracja:prawie 8 lat
  • Ostatnio:prawie 2 lata
  • Postów:99
1

Po pierwsze nie express.js. Zob. koa.js. Nowszy, pisany przez ludzi, którzy pisali express'a i uczyli się na błędach. Dostosowany do ES6 i wyżej.
Nie Django. Za dużo abstrakcji out of box. Na pewno nie polecałbym go początkującym (z resztą do większych projektów też nie - jeżeli coś jest do wszystkiego to jest do niczego - tak, wiem, że klepali w nim Instagram'a).
Chcesz się uczyć robienia dobrego API w Pythonie? Bottle, albo jeszcze lepiej aiohttp, FastAPI lub Starlette.
Jeżeli myślisz o fullstacku w oparciu o jeden język to z tych, które sam wymieniłeś zostaje JS.

Na Twoim miejscu zacząłbym jednak od Bottle - to microframework (de facto biblioteka, którą można pobrać w jednym pliku) - i uczył się jak działa HTTP i Internet. Dopiero potem bym przechodził w stronę większych abstrakcji. Wyposaży Cię to w wiedzę, którą później będziesz często potrzebował.


edytowany 4x, ostatnio: siloam
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)