Wpis z mikrobloga

Rethinking the Web API framework

github projektu

Od jakiegoś roku szukałem sensownej alternatywy dla django. Wróżę wielki sukces. Po nowym roku chcę to sprawdzić w realnym projekcie. Podoba mi się zamysł. ORM agnostic web framework, Dependency injection z uzyciem type annotations to jest bajka. Każdy kto używa pytesta, powinien decenić. Do tego dorzucamy od siebie service objecty i jest mamy wspanialy projekt. Zen Of Python, Zen of Web Framework.

Co sądzicie mirki?


#python #programowanie
Skalpel_ - Rethinking the Web API framework 

github projektu

Od jakiegoś roku s...
  • 30
@Skalpel_:
Pewnie - omówię to na przykładzie, jaki jest problem z annotacjami w ogóle:

@annotate(renderers=[HTMLRenderer()])
def hello(username: str):
return render_template('index.html', username=username)

1) Jak w ogóle renderer jest tu używany? Nie wiadomo ( Ale to akurat annotacja nie do injectowania, ale pokazuje #!$%@? trend pakowania funkcjonalności w annotacje )
2) Jak mam skonfigurować inne dependency ( bądź w tym przypadku inne renderery ) kiedy wymaga tego sytuacja ( np jestem w środowisku
* Wspiera myślenie o modelu danych jako o reprezentacji w bazie - pułapka w którą łatwo wpaść i która już teraz gniecie wiele projektów


@alex-fortune: 1. Chętnie poczytam rozwinięcie, ja w zasadzie całe życie bez ORM, ale zauważyłem, że prędzej czy później powstaje coś na styl.

2. Framework-less? Czy masz jakiś ulubiony?
@Skalpel_:
1. Nie ma znaczenia jak to jest używane, ważne jest to, że bezpośrednio z kodu tutaj tego nie wyciągnę, chyba, że przekopie się przez annotacje
2. No np mam HTMLRenderer gdzieś, a np jeśli jestem na debugowym środowisku, to chcę mieć HTML, JSON, CSV i XML. A to tylko o rendererach gadamy
3. Tak, ale to akurat w wypadku renderera, wyobraź sobie co by było gdyby było wymagane ;)

@
@Skalpel_: Co sądzę? Powierzchownie patrząc to nic specjalnego, w dodatku python w polsce jest dalej stosunkowo niszową technologią, a ucząc się takich rzeczy wpadasz w niszę niszy. Chyba, że jesteś technical manager i masz moc sprawczą by zmusić innych do korzystania xD

Ja się uparcie trzymam django/drf i ewentualnie flaska do lżejszych rzeczy i dopóki nie pojawi się coś naprawdę lepszego to ani myślę się przerzucać
Pewnie, tak jak wyzej mowilem uzywalem Symfony z PHP i Springa z Javą

@alex-fortune: I pracowałeś bez doctrine czy robiłeś osobne modele do persystencji? Model domenowy i potem zapis do bazy przez np PDO?
@gryzon_c:

ucząc się takich rzeczy wpadasz w niszę niszy


Wiedzą którą zdobędziesz, zawsze zaowocuje. Apistar wykorzystuje najnowsze funkcjonalności pythona: typing, asyncio. Warto się zainteresować. Async to teraz temat na topie. IMO zostawanie przy jednej technologi (np. django MVC) to stagnacja. Słyszałem określenie, że programiści django popadają w syndrom sztokholmski. W 95% projektach łamane są wszystkie zasady SOLID a wszechobecny tight coupling eliminuje możliwość dobrego otestowania. Nie widzę żadnej korzyści z użycia
@Skalpel_:

Wiedzą którą zdobędziesz, zawsze zaowocuje.

Nie zgodzę się. Zawsze będzie jakiś nowy framework który robi coś trochę inaczej albo ma jakąś fajną japońską nazwę więc fajnie byłoby go poznać. Ale problem jest taki, że nie uczysz się nowych rzeczy tak naprawdę, tylko uczysz się obsługi kolejnego frameworka. To rodzaj programistycznej prokrastynacji. Zamiast tego warto się uczyć języka programowania, fundamentów (jak działa baza, jak działa http) , wzorców projektowych czy architektonicznych