Jaka jest różnica między Rails 7 a 8?

Ruby / Ruby on Rails
Oleksandr Vykhor
19-02-2025 01:14:00


Główne różnice między Rails 7 a Rails 8

1. Uproszczone wdrażanie dzięki Kamal 2 i Thruster

Rails 8 integruje się z Kamal 2, narzędziem, które ułatwia wdrażanie aplikacji na różnych platformach, w tym na maszynach wirtualnych w chmurze, serwerach fizycznych i VPS. Dzięki poleceniu kamal setup można szybko skonfigurować środowisko produkcyjne. W połączeniu z Thruster, specjalistycznym serwerem proxy dla Rails, zapewnia wdrażanie bez przestojów, obsługę HTTP/2, automatyczne uzyskiwanie certyfikatów SSL i kompresję Gzip.

2. Nowe adaptery Solid do uproszczenia infrastruktury

Rails 8 wprowadza trzy nowe adaptery — Solid Cable, Solid Cache i Solid Queue — które eliminują potrzebę korzystania z zewnętrznych usług, takich jak Redis, do obsługi kolejek zadań, buforowania i przesyłania wiadomości.

3. Propshaft: nowy domyślny pipeline zasobów

Propshaft zastępuje Sprockets jako domyślny pipeline zasobów w Rails 8. Jest to bardziej nowoczesne i lekkie narzędzie do zarządzania zasobami statycznymi.

4. Wbudowany system uwierzytelniania

Rails 8 oferuje wbudowany generator do konfiguracji systemu uwierzytelniania, obejmującego modele, kontrolery, wysyłki e-mail i widoki. Upraszcza to proces dodawania uwierzytelniania do aplikacji.

5. Ulepszona obsługa SQLite w środowisku produkcyjnym

W Rails 8 znacznie poprawiono integrację z SQLite, co czyni go w pełni funkcjonalnym wyborem dla środowisk produkcyjnych.

6. Nowy folder script i generator skryptów

Rails 8 wprowadza nowy folder script do organizacji jednorazowych lub pomocniczych skryptów. Generator skryptów umożliwia programistom szybkie tworzenie i zarządzanie własnymi skryptami.

7. Ulepszenia w Active Record

Rails 8 przynosi szereg ulepszeń w Active Record, w tym obsługę dziedziczenia tabel w PostgreSQL, masowe wstawianie danych testowych dla lepszej wydajności oraz ulepszoną obsługę transakcji.

Ogólnie rzecz biorąc, przejście z Rails 7 na Rails 8 zapewnia programistom prostsze i bardziej wydajne narzędzia do tworzenia, wdrażania i zarządzania aplikacjami internetowymi.


Назад