Można powiedzieć, że Hawk Framework powstał w sposób naturalny w czasie mojej pracy zawodowej. Tworząc bardziej lub mniej rozbudowane strony internetowe – a w przeważającej części strony dla firm – prezentujące różne treści w atrakcyjny sposób, musiałem na bieżąco implementować system „zakładek”, wysuwanego menu, treści pojawiające się na warstwie, możliwość ukrywania dłuższego tekstu i pokazywania go dopiero na życzenie użytkownika, system kategorii, dynamiczne ikony i tak dalej.
Kopiowanie użytych wcześniej mechanizmów, używanie ich w dalszych projektach i stopniowe ulepszanie często sprawiało, że w kodzie robił się swego rodzaju bałagan, a ja bałaganu w kodzie bardzo nie lubię. Postanowiłem więc po godzinach zebrać pomysły na wszystkie potrzebne moduły i elementy, których używam do tworzenia witryn internetowych, i napisać je ładnie i elegancko, uogólniając pewne algorytmy, tworząc zarazem możliwość wstrzykiwania indywidualnych dla danego projektu zachowań i ustawiania pewnych elementów bez ingerencji w bazowy kod. Tworząc wszystkie rozwiązania od początku, mogłem spojrzeć na każdy z modułów świeżym okiem, dzięki czemu, w mojej ocenie, wszystkie te algorytmy stały się jeszcze lepsze.
Hawk Framework zawiera przede wszystkim najbardziej potrzebne, jak wynika z mojego doświadczenia, moduły używane na różnego rodzaju niewielkich dedykowanych stronach internetowych, tj:
- wysuwane menu (3 opcje pojawiania się)
- listy rozwijane (dropdowns)
- treści prezentowane na warstwach
- mechanizm „zobacz więcej”
- zakładki
- rozwijane listy detali
- kategoryzowanie elementów
Ponadto Hawk Framework zawiera wstępny szablon strony internetowej i zestaw przykładowych stylów dla najpotrzebniejszych elementów (sekcje, przyciski, formularze), a także zastaw najczęsciej używanych wielkości czcionek i RWD przypisane do zmiennych SASS oraz zestaw najpotrzebniejszych mixin SASS. Oprócz tego znajdziemy tu zestaw najczęściej używanych ikon/symboli, stworzonych za pomocą kodu HTML/CSS, co pozwala na elegancke animowanie tychże oraz szybką zmianę ich wyglądu, rozmiaru, w zależności od potrzeb.
Myślę, że śmiało można nazwać Hawk'a front-endowym frameworkiem, lekkim i bardzo ogólnym, który pomaga stworzyć efektowną stronę www szybko, jednak nie tworzy jej samodzielnie. Zaprojektowałem go dla ułatwienia pracy sobie, ale lubię oprogramowanie Open Source, stąd zamieściłem jego kod w repozytorium na GitHubie na licencji MIT. Jeśli ktoś będzie chciał go użyć, będzie mi bardzo miło, jeśli w miejscu załączania plików JS i CSS znajdzie się jakaś wzmianka o mnie i link do mojego portfolio, albo chociaż link do GitHuba. Projekt jest wciąż rozwijany, jednak już od jakiegoś czasu z powodzeniem używam go w projektach komercyjnych.