Elastyczność jest dla nich zazwyczaj elastycznością. Wszystkie te sprawdzone metody są wygrane po obu stronach aplikacji.
Jednym z krytycznych i często pomijanych punktów jest jednak pisanie solidnego interfejsu użytkownika. Zbyt wiele komponentów interfejsu użytkownika jest nadmiernie zakotwiczonych w jednym kontekście lub zbyt wymagającym zestawie HTML, a ich CSS jest skonfigurowany do niepowodzenia.
Na przykład, jeśli masz listę rozwijaną, znacznie mniej pracy JS polega na zakotwiczeniu bezwzględnie umieszczonego elementu upuszczającego w ustawionym klikniętym pojemniku (bez żadnych współrzędnych) niż na wyciągnięciu młota JQuery i uzyskaniu współrzędnych, aby go unieść na element i po prostu przyklej go na miejscu. Jest również znacznie mniej prawdopodobne, że się zepsuje w przypadkach, gdy strona przesuwa się lub niektóre nowe funkcje przeglądarki odrzucają informacje o pozycjonowaniu. Im bardziej polegasz na umiejętnościach HTML / CSS, aby uniknąć pracy JS, tym bardziej solidny będzie twój interfejs użytkownika.
Zasadniczo staram się upewnić, że jedyne, czego potrzebują moje komponenty interfejsu użytkownika, to znacznik HTML, w którym można mieszkać z odpowiednim identyfikatorem lub klasą. Im więcej rzeczy możesz zrobić z tym kontenerem bez interfejsu użytkownika wewnątrz pękania lub z pojemnikiem faktycznie dostosowującym się, takim jak rozszerzanie / kurczenie, aby dopasować się do zmian wymiarów kontenera, tym bardziej można go łatwo wdrożyć w dowolnej części aplikacji bez potrzeby po stronie klienta ekspert. Wszystko, co muszą zrobić, to nakleić na to klasę.
Preferuj delegowanie zdarzeń w kontenerach interfejsu użytkownika zamiast przypisywania detektorów bezpośrednio do węzłów punktów końcowych, takich jak przyciski. Ten komponent interfejsu użytkownika może teraz działać ze statycznym HTML, ale nigdy nie wiadomo, kiedy ktoś będzie chciał wydrzeć i przepisać HTML wewnątrz za pomocą innerHTML lub coś takiego. Jeśli kontener jest nienaruszony, a wszystkie zdarzenia są delegowane (patrz metoda „włącz” jquery), nie musisz się tym martwić i może nigdy nie nauczysz się, jak zastąpienie HTML przerywa słuchaczy.
W celu utrzymania delegowania jako opcji, nie używaj stopPropagate nigdzie indziej niż węzły końcowe i wysyłaj e-maile z nienawiścią do programistów idiot Framework, którzy rozsyłają je wszędzie.
Jeśli chodzi o układ, HTML powinien być minimalny, semantyczny i unikaj opakowań div. Im mniej HTML, tym łatwiejsze problemy z układem diagnozują nowi układacze.
Użyj oczywistych nazw klas dla narzędzia CSS. Klasa „row” prawdopodobnie będzie bardziej zrozumiała dla noobów CSS niż „clearfix”.
Zawsze podawaj unikalne elementy przekroju, unikalne identyfikatory. Ułatwia to identyfikację, gdzie dzieją się rzeczy specyficzne dla sekcji, łatwiej jest nadpisywać rzeczy, a także może być wygrana przez czytelność i wydajność JS.
Oczywiście to złe wieści, że przesadza się ze schematem klas, ale im bardziej twórca zaplecza może ustawić po prostu dodając odpowiednie klasy do rzeczy, tym łatwiej będzie im wprowadzić zmiany w istniejącej stronie.
I oczywiście na początku projektu poproś ich, aby zgodzili się co najmniej na jedno: połączenie zaplecza i interfejsu tylko poprzez HTML i JSON. Nie pozwól im używać rzeczy, które „zapisują JavaScript dla Ciebie!” To cholerny bałagan i koszmar konserwacji.
Podobnie jak w przypadku wszystkich rzeczy związanych z rozwojem, preferuj DRY i minimalizm.