Pamiętaj, że to nie jest kolejna „Ile [ wstaw tutaj język programowania ] powinienem wiedzieć przed przejściem do [ wstaw tutaj framework ]?” Chciałbym wiedzieć, jak korzystne jest nauczenie się tych zaawansowanych koncepcji języka programowania, gdy przez większość czasu zamierzasz polegać na jego ramach. Na przykład zacząłem używać jQuery i najpierw poświęciłem trochę czasu, aby naprawdę zrozumieć podstawowe pojęcia dotyczące Javascript. Dodatkowo mam kilka książek podstawowych (na przykład Tajemnice ninja Javascript) na półce, które naprawdę zagłębiają się w język. Gdy przeglądam strony, okazuje się, że spora część nie przenosi się na jQuery, ponieważ moim głównym celem jest manipulacja DOM.
To samo można powiedzieć o Ruby i RoR. Czy te książki czynią mnie ogólnie lepszym programistą? Prawdopodobnie. Czy te tematy pomogą mi stać się znacznie lepszym dzięki swoim ramom? Trudno mi to zrozumieć.
źródło
Odpowiedzi:
Jego ważniejsze uczyć się języka niż jest zbadanie ram. Naucz się dobrze języka, a będziesz dobrze korzystać z frameworka.
W kolejności ważności (najważniejsze w pierwszej kolejności):
źródło
Oczywiście. Pytanie brzmi: „czy ta korzyść jest warta zainwestowania czasu?”. Twierdziłbym, że zawsze tak jest, ale z pewnością zależy od ciebie i twojego środowiska, ponieważ wpłyną one na korzyść (ile twoje środowisko zyska na twojej wiedzy) w porównaniu z kosztem (jak długo zajmuje ci nauka i jak dobrze ty absorbować wiedzę).
Dlaczego miałbym twierdzić, że jest to korzystne? Ponieważ nie zawsze będziesz w ramach. Nawet najbardziej kompleksowe ramy są nadal częścią większego ekosystemu. Nie możesz sam wykonywać połączeń jQuery. Musisz wiedzieć, jak powiązać skrypt ze stroną, jak działa, jak współdziała z rzeczami, które chcesz zrobić. To może być „podstawa” w twojej książce, ale zawsze odkryłem, że głębsza wiedza pomogła mi przyspieszyć kod i na pewno szybciej debugować problemy. Ramy czy nie.
Poza tym prawdziwy świat ma paskudny zwyczaj ingerowania w programistów. Pewnie, Twoim zadaniem może być dzisiaj manipulacja DOM, ale jutro może być konieczne połączenie niektórych obiektów SWFO. Posiadanie dobrego fundamentu pozwoli ci łatwiej dostosować się do zmieniającego się otoczenia.
I na koniec, chociaż możesz chcieć tylko manipulować DOM, bardzo niewielu programistów pracuje już samodzielnie. Twoi rówieśnicy prawdopodobnie będą robić bardziej zaawansowane rzeczy z językiem programowania. Musisz być w stanie odczytać ten kod, a przynajmniej nie spieprzyć go.
źródło
Prawdopodobnie potrzebujesz trochę równowagi w ilości, której powinieneś się nauczyć. To nie wszystko albo nic, więc włóż w to tyle czasu, ile możesz. Musisz zadać sobie pytanie, jakie ryzyko chcesz zaakceptować, opierając się na ramach.
To wspaniałe, jeśli wszystko, czego potrzebujesz, to uruchomienie minimalnego żywotnego produktu. Nie będzie ogromnej wydajności ani skomplikowanych wymagań. Zakłada się, że wybrałeś framework, który poradzi sobie z tym, co próbujesz zbudować.
Z drugiej strony spektrum jest, jeśli pracujesz nad dość dużą / złożoną aplikacją i znajdziesz coś, co framter radzi sobie źle. Nic wielkiego, więc musisz nauczyć się więcej JavaScript. Musiałbyś poświęcić temu czas, gdybyś nauczył się go od samego początku. Ale czy masz czas? Czy będziesz w stanie nauczyć się podstaw pod presją nieterminowego wykonania zadania? Nikt nie może na to odpowiedzieć.
Wyrównanie go jest prawdopodobnie najlepszym wyborem. Tempo się. Naucz się JavaScript, jeśli możesz. Możesz nie zostać ekspertem, ale to nie jest powód, aby go ignorować. Ramy zostały stworzone przez ludzi, którzy chcieli rozwiązać problem podobny do twojego, ale nie dokładnie taki jak twój.
źródło
Ogólnym obszarem, który cierpi z powodu zagłębiania się w ramy, zanim dobrze zna podstawowy język, jest wydajność. Dotyczy to wszystkich języków / platform ( Hibernacja n + 1 wybiera itp.). Oto wiele z porad JQuery i sztuczek, które opierają się (między innymi) o dobrej znajomości języka podstawowego w odniesieniu do świadczenia usług:
źródło
Myślę, że twoje pytanie opiera się na fałszywej przesłance. Zaczynasz od stwierdzenia, że planujesz polegać na frameworku, a następnie pytasz, czy warto uczyć się poza nim. Więc oczywiście doszedłeś do wniosku, że nie warto. Ale to założenie jest błędne. Nie powinieneś skupiać się na użyciu frameworka. Powinieneś skupić się na użyciu odpowiedniego narzędzia do odpowiedniej pracy . jQuery jest naprawdę dobry w niektórych zadaniach, podobnie jak Ruby on Rails lub jakikolwiek inny framework. Ale nie zawsze są odpowiednim narzędziem do wszystkiego. Uczenie się języka poza ramami, a nawet uczenie się o innych ramach, mikrostrukturach lub innych narzędziach, pomaga zidentyfikować, kiedy Twój szkielet staje Ci na drodze, a nie pomaga, i daje możliwość szukania innych,
Więc moja odpowiedź brzmi: tak, jest to absolutnie tego warte, ponieważ ramy nie są odpowiednim narzędziem dla każdego zadania.
źródło