Dobre zasoby i narzędzia do nowoczesnego, intensywnego programowania JavaScript? [Zamknięte]


22

Jestem zainteresowany wykonywaniem niektórych projektów, które wymagają intensywnego użycia JavaScript. Mianowicie gry na płótnie oparte na HTML5, również potencjalnie wykorzystujące node.js. Jestem zainteresowany nauką nowoczesnych najlepszych praktyk, narzędzi i zasobów dla JavaScript.

JavaScript jest trudny do zbadania, ponieważ kończysz branie przez wiele naprawdę przestarzałych materiałów, pochodzących z czasów, gdy „JavaScript” był czteroliterowym słowem.

Jeśli jesteś mocno zaangażowany w programowanie JavaScript ...

  • Jakiego edytora tekstu lub IDE używasz?
  • Z jakich ram testowania jednostkowego korzystasz?
  • Czy używasz selenu, czy czegoś innego?
  • Z jakich innych narzędzi korzystasz?
  • Jakie społeczności istnieją, które omawiają najnowsze osiągnięcia w JavaScript?
  • Do jakich książek czytasz / odnosisz się?
  • Jakie blogi czytasz?


Kilka świetnych blogów, które przeczytałem: dailyjs.com - Kilka świetnych postów dotyczących nowych bibliotek i frameworków na arenie JS, ze szczególnym naciskiem na Node.js. perfectionkills.com - Niezbyt często aktualizowany, ale kiedy Kangax pisze artykuł, idzie naprawdę głęboko, zdasz sobie sprawę, ile JS nie znasz.
— Matt Molnar,

Edytor WWW Adobe Brackets : github.com/adobe/brackets - napisany głównie w javascript przy użyciu osadzonego szkieletu chromowego. Również ciekawy artykuł o tym, jak zbudowali ten edytor nawiasów
— Czarek Tomczak

Wow, to pytanie może użyć aktualizacji.
— Erik Reppen

Odpowiedzi:


19

Moja lista będzie:

Książki są przestarzałe, gdy tylko trafią na półki (zazwyczaj).


7
Do tego dodam również centrum dokumentacji mozilla w sekcji referencyjnej.
— Trezoid

2
+1, to właściwie moja lista, ale dodałbym też YUI Compressor (lub kompilator Google'a).
— Demian Brecht

Pagespeed jest także dobrym rozwiązaniem dla opcji „Javascript Deferrable Javascript”. Nie tylko narzędzie do kodowania JS, ale nadal bardzo przydatne.
— Ed James

2
@RDL - jakich, jeśli używasz wtyczek javascript dla vima?
— Mike H

Zauważam, że nie polecono tu żadnych narzędzi / platform do testowania jednostek, pomimo tego, że były tak wysoko uprzywilejowane ...
— NT3RP

9

Jakiego edytora tekstu lub IDE używasz?

Wszystkie obsługują pełne funkcje programowania aplikacji internetowych (javascript, HTML, CSS itp.). Wybierz Aptana, jeśli szukasz darmowego rozwiązania.

Z jakich ram testowania jednostkowego korzystasz?

  • Selen

    1. Ma obsługę wielu przeglądarek [IE, Firefox, Chrome, Safari, Opera i Konqueror] na wielu platformach [Windows, Linux, Macintosh itp.].
    2. Obsługa wielu języków programowania do pisania przypadków testowych [HTML, Java, C #, Perl, PHP, Python, Ruby itp.].
    3. Zdalne wykonanie (przypadki testowe znajdują się na jednym komputerze, a wykonanie w przeglądarce może odbywać się na innym komputerze).
    4. Możesz uruchomić regresje nawet w trybie zminimalizowanym w przeglądarce

Z jakich innych narzędzi korzystasz?

  • Firebug, IE Dev Tool Bar itp., Wbudowane narzędzia przeglądarki do debugowania
  • Możesz użyć niektórych struktur bibliotek interfejsu użytkownika, takich jak JQuery, YUI, ExtJS itp. Do szybkiego opracowania.
  • Fiddler / HTTP Obserwuj debugowanie żądania HTTP i odpowiedzi.
  • JSLint, aby zweryfikować niektóre problemy ze składnią javascript.
  • YUICompressor do minimalizacji kodu HTML, CSS i JavaScript.
  • DynaTrace / YSlow / Page Speed ​​- do testowania wydajności
  • SIEve do wykrywania wycieków pamięci
  • IE Tester do testowania aplikacji na różnych wersjach IE.

Do jakich książek czytasz / odnosisz się?

Więcej


1
Selenium to narzędzie do testowania integracji, a nie testowania jednostkowego! Reszta tego jest jednak moim zdaniem bardzo ważna: D
— Ed James

1
jQuery to biblioteka o wiele więcej niż interfejs użytkownika, jQueryUI to zupełnie osobna biblioteka.
— StuperUser

@StuperUser kłamie. jQuery to biblioteka do manipulacji DOM, wszystko inne wykorzystuje ją jako duży młotek i „złote narzędzie, które rozwiązuje wszystkie problemy”
— Raynos

@Raynos, jQuery jest dużym młotem, gdy jest używany do manipulacji DOM, gdy JavaScript. Z pewnością zyskał status mema ze względu na swoją reputację jako panaceum. Jak obaj powiedzieliśmy, nazywanie go „biblioteką interfejsu użytkownika” jest niedokładne.
— StuperUser

@StuperUser: Przypuszczam, że naprawdę miał na myśli interfejs użytkownika jQuery
— Lie Ryan

6

Nadal uważam, że narzędzia dostępne do poważnego programowania JavaScript są daleko w tyle, gdzie powinny być, ale oto kilka z nich, których używam.

  • Do programowania używam VIM, ale możesz znaleźć netbeans, które warto wypróbować.
  • Do testowania jednostkowego jaśmin jest dobry, ale nie idealny.
  • EnvJs może dać ci dobry sposób na przeprowadzenie testów jednostkowych w wierszu poleceń
  • Bardzo polecam część selenu 2 dla webdriverów
  • Pełny pakiet zamykający google jest bardzo przydatny
  • Polecam również, abyś wiedział, jak używać Google Chrome i IE do debugowania obok firebuga, ponieważ wszystkie mają swoje osobliwości, które mogą wysyłać cię w dół wszelkiego rodzaju ślepych uliczek.
  • Istnieje kilka doskonałych bibliotek JavaScript, które są prawie niezbędne do poważnego rozwoju. Polecam zacząć od jQuery, ale jest wiele innych, które są równie dobre.
  • także autor jQuery, John Resig, ma przydatnego bloga

to samo pytanie, jakie właśnie zadałem dla RDL: jakich (jeśli w ogóle) wtyczek vim używasz do javascript?
— Mike H

@Mike Nie używam żadnych wtyczek specyficznych dla javascript dla vima. Polecam jsctags które integrują się z jakichkolwiek wtyczek, które używają Ctags np taglist-plus
— Duncan Grant

5

Cóż ... chociaż jeszcze nie wszystko, jestem obecnie głównym programistą nowego wieloplatformowego projektu open source:

JS Studio

Oto zrzut ekranu:

Niektóre funkcje są bardziej kompletne niż inne ... ale oto zamierzone cele:

  • Podświetlanie składni (prawie kompletne)
  • Organizacja projektu (częściowo zrealizowana)
  • Autouzupełnianie (w tym uzupełnianie popularnych frameworków JS, takich jak jQuery itp.)
  • Kompiluj system (do łączenia plików, minimalizacji itp.)
  • Rozszerzalny interfejs GUI (poprzez rozszerzenia JavaScript)
  • Numeracja linii (w pewnym sensie kompletna), zawijanie wyrazów, konfigurowalne kolory do podświetlania składni

Skonfigurowałem codzienne wersje dla systemu Windows, a najnowszą wersję można znaleźć tutaj: http://files.quickmediasolutions.com/jsstudio/


To wygląda interesująco. Szukałem dobrego IDE JavaScript. Czy jest jakiś plik binarny, który można pobrać? Nie widziałem żadnej na stronie internetowej.
— Jonas

@Jonas: Niestety, na tym wczesnym etapie istnieje tylko plik binarny dla Ubuntu. Ale mam nadzieję, że będę miał czas na utworzenie pliku binarnego Windows w dalszej części drogi.
— Nathan Osman

@Jonas: Bardzo wczesne budowanie systemu Windows tutaj - niektóre rzeczy jeszcze nie działają, ale możesz przynajmniej otworzyć / zapisać pliki i kilka innych rzeczy.
— Nathan Osman,

jakieś nowe osiągnięcia w tej dziedzinie?
— Noctis

@Noctis: Niestety nie. Wpadłem na pewne komplikacje związane z implementacją uzupełniania kodu i projekt zasadniczo pozostawał bezczynny przez ostatni rok lub dwa.
— Nathan Osman,

4

W kategorii „inne narzędzia” używam CoffeeScript (języka, który kompiluje się w JavaScript), ponieważ usuwa ból, który nakłada na mnie składnia JavaScript.

list.sort (a, b) -> a.isSmaller(b)

przeciw

list.sort(function(a, b) { return a.isSmaller(b) });

Można się spierać, technicznie rzecz biorąc, nie jest to już javascript, ale „poczucie” ekspresu do kawy polega na tym, że jest to tylko cienka warstwa.


3

API dla biblioteki jQuery http://api.jquery.com/ oraz dobrze zaznaczona kopia jQuery w akcji . Przeczytaj go od deski do deski, a następnie śledź http://twitter.com/jquery, aby uzyskać aktualizacje w nowych wersjach.

Powiedziałeś, że książki stają się nieaktualne, ale musisz zdobyć podstawowy poziom wiedzy, aby móc je wykorzystać, a kiedy będziesz na bieżąco, bądź na bieżąco.

Qunit do testowania jednostkowego i Firebug oraz wyróżnienie składni JavaScript dla Firebug do debugowania.



0

Mam nadzieję, że nie zostaniesz do tego zbytnio podpalony, ale jeśli takie rzeczy jak IDE i narzędzia są dla Ciebie ważne, zdecydowanie zalecamy zapoznanie się z Google Web Toolkit . Piszesz swój kod w Javie w Eclipse, co naprawdę pomaga w pisaniu kodu. Zapewnia wysoce skuteczne uzupełnianie kodu, refaktoryzację narzędzi oraz pomaga w debugowaniu i nawigacji w bazie kodu.

Nadal możesz przejść do surowego Javascript, kiedy potrzebujesz.

Twój kod jest następnie kompilowany w zoptymalizowany, zminimalizowany JS. Z powodzeniem zastosowałem to podejście w środowisku DOMless JS podobnym do node.js.

W przypadku gier HTML5 sprawdź PlayN, która jest biblioteką, która korzysta właśnie z GWT.


Jeśli mimo wszystko zamierzasz skompilować do JavaScript z innego języka, istnieje wiele możliwości wyboru - wcale nie musisz używać Java! Na przykład używamy js_of_ocaml w pracy, więc możemy napisać nasz kod w OCaml i uruchomić go w przeglądarce.
— Tikhon Jelvis

0

Dużo rozwijam JavaScript. Wiele z nich jest wymienionych, ale oto, czego używam:

  • Notepad ++
  • Firebug
  • Debuger IE (F12) i debugger Chrome (F12 w systemie Windows)
  • Używam przepełnienia stosu głównie do pytań. Przyjazd tutaj okazał się również pomocny.
  • Pierwszą książką, której użyłem, był JavaScript: przewodnik definitywny, kiedy. Obecnie nie używam książek tak często, jak stron internetowych takich jak MDN lub MSDN.
  • Używamy trochę jQuery w miejscach, w których również to ułatwia nam życie.
  • Do testów jednostkowych budujemy własne wiązki testowe.

0

Mogę polecić biuletyn w języku JavaScript . Jego

Bezpłatny, raz w tygodniu e-mailowy przegląd wiadomości i artykułów JavaScript.

Nie czytałem książek Johna Resiga, ale słyszałem i czytałem dobre opinie. Jego nowa książka Secrets of the JavaScript Ninja zostanie wkrótce opublikowana.


Czy ktoś może wyjaśnić opinię negatywną?
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.