Pafera Full-Stack Web Framework

Prosty, wydajny, staromodny framework internetowy dla osób, które wiedzą, co robią

Cechy

Czy potrzebujesz frameworka, którym możesz sterować bezpośrednio z przeglądarki?
Czy możesz tworzyć nowe strony za pomocą kilku kliknięć?
Jak utworzyć nową przetłumaczoną stronę, wybierając jedynie kod języka?
Czy używać rzeczywistego języka SQL zamiast abstrakcyjnych konstruktorów zapytań do wszystkich operacji na bazie danych?
Czy da się uzyskać dobrą wydajność nawet na telefonie z Androidem za 80 dolarów?
Czy masz wbudowane opcje TOTP i klucza dostępu?
Zintegrowane zarządzanie przesyłaniem plików dla każdego użytkownika?
Czy system zapewnia integrację sklepu i Stripe?
I wszystko w 400 KiB?

Przykładowe filmy

Instalacja na pięcioletnim telefonie z Androidem

Testowanie wydajności aplikacji blogowej

Filozofia projektowania

Nowoczesne komputery są szybsze od komputerów z przeszłości, często o niewiarygodne przewagi. Dlaczego więc często wydaje się, że wykonanie zadań zajmuje więcej czasu?

Dla kogoś, kto uczył się programować na starym komputerze IBM PS/2 z systemem DOS 6.1 ponad dwadzieścia lat temu, odpowiedź jest prosta.

  1. Współczesne oprogramowanie wykonuje o wiele więcej czynności niż starsze oprogramowanie... ale głównie w obszarze wizualnym, podczas gdy sama praca stanowi ułamek czasu wykonania.
  2. Firmy decydują się na zamianę szybkości tworzenia na wydajność kodu.
  3. Programiści decydują się na używanie rozbudowanych, rozdętych frameworków zamiast stosowania wyłącznie najprostszych i najszybszych metod osiągania celów projektowych.
  4. Pojawienie się usług w chmurze i przetwarzania na żądanie pozwoliło leniwym korporacjom wydawać pieniądze na sprzęt zamiast skupiać się na optymalizacji oprogramowania.

Oczywiście nie dotyczy to wszystkich firm, zwłaszcza tych, które zdały sobie sprawę, że wydawanie ogromnych kwot pieniędzy na hosting i usługi uszczupla ich zyski. W całej sieci stale słyszymy historie o firmach zmieniających platformy oprogramowania i oszczędzających od 20 do 40% kosztów hostingu, optymalizujących bazy danych w celu skrócenia czasu zapytań o współczynniki dziesięciokrotnie lub większe oraz wydłużających czas reakcji poprzez przeprojektowywanie części swoich aplikacji w asynchronicznym kodzie przy użyciu Node.js, Rust, Go lub innych współczesnych języków.

Pafera Web Framework jest zaprojektowany tak, aby był prosty, wydajny i tani, ale tylko wtedy, gdy znasz już podstawowe technologie. Nie unikamy SQL, HTML, CSS ani JavaScript na podstawowym poziomie, ale korzystamy z nich, aby stworzyć coś, co jest wystarczająco zaawansowane, aby było szybkie w czasie rozwoju, ale wystarczająco niskopoziomowe, aby było szybkie i dostosowywalne do każdej sytuacji.

Instalacja

Najlepszym sposobem rozpoczęcia korzystania z Pafera Framework jest pobranie go i rozpoczęcie użytkowania.

Jeśli korzystasz z systemu opartego na Ubuntu, Arch Linux lub Termux na Androidzie, instalacja jest tak prosta, jak napisanie

wget https://pafera.com/install.sh
chmod +x install.sh
./install.sh

Jeśli korzystasz z innych systemów, będziesz musiał nieco dostosować polecenia. W przypadku systemu Windows polecam Anacondę lub po prostu instalację Ubuntu za pośrednictwem WSL2. Homebrew powinien dobrze działać w systemach Mac.

Seminarium

Aby zapoznać się z krótkim samouczkiem dotyczącym tworzenia aplikacji przy użyciu frameworka, możesz odwiedzić główne repozytorium kodu w Codeberg Wersja Pythona

Wersja PHP nie była zmieniana od jakiegoś czasu, ale dzieli tę samą filozofię projektowania co wersja Python, z pewnymi różnicami w obsłudze języka i automatycznym ładowaniu. Repozytorium kodu jest dostępne tutaj podczas gdy dokumentacja jest dostępne tutaj

Plany na przyszłość

Pracuję nad wersją Rust frameworka, która powinna dać drastyczne ulepszenia szybkości w porównaniu z obecną wersją Pythona kosztem przenośności i łatwości użytkowania. Obsługa asynchroniczna Rust nie jest jeszcze całkiem dojrzała, ale wygląda obiecująco na przyszłość.

Wszelkie poprawki błędów lub sugestie są zawsze mile widziane. Proszę przesłać je do mojego repozytorium Codeberg powyżej.