Minęło trochę czasu, odkąd dokonałem jakiegokolwiek znaczącego rozwoju sieci i chciałbym skorzystać z najnowszych praktyk, ale staram się wizualizować przepływ pracy, aby uwzględnić wszystko.
Oto, czego chcę użyć:
- Framework CakePHP
- jsmin (JavaScript Minify)
- SASS (Synctactically Awesome StyleSheets)
- Git
CakePHP:
Dość zrozumiałe, wprowadzaj modyfikacje i aktualizuj źródło.
jsmin:
Po zmodyfikowaniu skryptu należy ręcznie uruchomić program jsmin, aby wygenerować nowy zminimalizowany kod, czy lepiej byłoby uruchomić przechwytywanie przed zatwierdzeniem, które automatycznie generuje wyniki jsmin zmienionych plików javascript. Załóżmy, że nie mam wiedzy na temat implementowania przechwytywania zmian.
SASS:
Bardzo podoba mi się to, co ma do zaoferowania SASS, ale zdaję sobie również sprawę, że kod SASS nie jest domyślnie obsługiwany przez przeglądarki, więc w pewnym momencie kod SASS musi zostać przekształcony w normalny CSS. W którym momencie przepływu pracy jest to wykonywane.
Git
Jestem przerażony przyznać się do tego, ale ostatnim razem, gdy dokonałem jakiegokolwiek znaczącego rozwoju sieci, nie użyłem kontroli źródła SCM (IE, użyłem kontroli źródła, ale składało się to z bardzo szczegółowego dziennika zmian z kopiami zapasowymi).
Od tego czasu mam duże doświadczenie w korzystaniu z Git (a także mercurial i SVN) do tworzenia desktopów, ale zastanawiam się, jak najlepiej wdrożyć to do programowania stron internetowych.
Czy powszechną praktyką jest wdrażanie zdalnego repozytorium na hoście internetowym, dzięki czemu mogę przekazywać zmiany bezpośrednio do serwera produkcyjnego, czy też istnieje narzędzie wieloplatformowe (Windows / Linux), które ułatwia przesyłanie tylko zmienionych plików na serwer produkcyjny . Czy istnieją firmy hostingowe, które ułatwiają wdrożenie zdalnego repozytorium, czy potrzebuję dostępu SSH itp.
Wiem, jak to zrobić na własnym serwerze testowym ze zdalnym repozytorium z oddzielną gałęzią zdalnego śledzenia, ale nigdy wcześniej nie robiłem tego na zdalnym produkcyjnym serwerze hostingowym, więc nie znam jeszcze opcji.
Dodatkowy:
Zastanawiałem się nad wdrożeniem frameworka javascript, w którym osobne pliki javascript używane na stronie są kompilowane w jeden plik dla każdej strony na serwerze produkcyjnym, aby ograniczyć liczbę wymaganych plików do pobrania na stronę.
Czy coś takiego już istnieje? Czy istnieje już na wolności projekt open source, który implementuje coś podobnego, z czego mógłbym skorzystać i do którego mogę się przyczynić?
Biorąc pod uwagę, jak paranoiczni twórcy stron internetowych odnoszą się do wydajności (oraz fakt, że liczba żądań plików na stronie internetowej jest dużym hitem wydajności), zgaduję, że w sieci jest jakiś haker-czarodziej, który już rozwiązał ten problem.