Szybkie wprowadzenie do gemów umożliwiających dołączanie kodu C/C++ w Rubym [ENG]
Dzisiaj Luca udostępnił ostatni-ostatni element - “klej” pomiędzy pozostałymi frameworkami. Release planowany jest na następny poniedziałek.
btw. jeżeli ktoś chciałby pomóc, jest kilka ticketów z labelem “help-wanted”: lotus/lotus i lotus/controller
http://www.madebymarket.com/blog/dev/ruby-web-benchmark-report.html
cała banda benchmarków serwerów/frameworków i różnych wersji języka.
spoiler: jruby okazało się najszybsze
A Rails najwolniejsze.
Benchmark ma znaczenie jeśli piszesz aplikację wyświetlającą „Hello World”. A swój serwer aplikacji stawiasz na Macbook Air. Moim zdaniem nie jest to specjalnie popularna konfiguracja.
nie no, jasne - to tylko benchmark.
Ale imho jakieś drobne wnioski z tego wyciągnąć można.
Na przykład, żeby nie używać Rails, bo najwolniejsze?
Albo np. że jruby jest najszybsze, ale jak zapytasz railsowców to i tak 95% używa MRI.
Albo by nie używać railsów do wszystkiego, tylko w zależności od problemu korzystać z alternatyw.
An AMA with Matz on Reddit Tonight http://www.reddit.com/r/ruby/comments/2c722r/ama_with_matz_at_lumosity/
Mateusz opisał w kilku krokach w jaki sposób robimy kick-off UI w apkach Railsowych. Może się przyda też innym. Kick Off UI Development With These Simple Steps
N-te porównanie framework’ów JavaScript’owych dla client-side - http://blog.andyet.com/2014/08/13/opinionated-rundown-of-js-frameworks. Na końcu i tak artykuł sprowadza się do zaprezentowania AmpersandJS, kolejnego JavaScriptow’ego frameworka .
Po bliższym przyglodnięciu się to taki Backbone 2.0 zbudowany w oparciu o moduły wraz z data binding, sub-views oraz nested collections. Pytanie czy jednak trochę nie za późno? Coraz więcej osób uważa, że Backbone nie wystarcza i trzeba posiłkować się dodatkowymi bibliotekami. Pytanie czy nie lepiej po prostu wybrać Ember / Angular zamiast decydować się na “półśrodki”?
Nie mam pojęcia, o co dokładnie chodzi autorowi w drugiej wadzie Reacta, którą podaje, ale prawdopodobnie nawet on sam tego nie wie:
Please note this is something I’ve assumed would be an issue
but have not run into myself, but this was confirmed by a dev I was
talking to who was struggling with exactly this. But take it with a
grain of salt.
Trzeci minus:
While you can just re-render the entire react view, depending on the
complexity of component, it sure seems like there can be a lot of
diffing to do. I’ve heard of React devs choosing to update only the
known changed components, which to me, takes away from the whole idea of
not having to care. Again, note that I’m speaking from very limited
experience.
Mowa tutaj o shouldComponentUpdate. Zamiast zlecać Reactowi diffowanie, można po prostu w tej funckji zamieścić warunek i to on będzie decydował, czy coś ma zostać przerenderowane, czy też nie. W praktyce rzadko kiedy się z tego korzysta. Jedyny use case dla tej metody, jaki jestem w stanie wymyślić, to renderowanie jakiegoś megaskomplikowanego komponentu, który ma pod sobą jeszcze kilka mniejszych, a całość zależy od wartości przekazanej do tego najwyższego komponentu w hierarchii.
If I had to build a single page app that supported old browsers I’d look closely at using Backbone + React.
Backbone z Reactem, no nie wiem, może jest w tym jakiś sens, którego nie widzę. You might not need MVC with React.js.
Wydaje mi się, że to miało sens jak nie było jeszcze biblioteki React-Router. Wtedy żeby mieć routing można wykorzystać Backbone’a (przy okazji dostajesz też komunikację z Backendem poprzez Modele i Kolekcje). Z tego co mi wiadomo to właśnie z tego względu Instagram zdecydował się na React + Backbone.
Nie wiem czy to już było…
Natknąłem się na ciekawe rozwiązanie multiselect’a. Tutaj jako dodawanie tagów, ale wydaje mi się, że fajne generalnie do multiselect z opcją dodawania przez usera. Zaznaczam że jeszcze nie testowałem.
Update. Jak ktoś chce zainstalować acts_as_taggable to polecam:
Poza tym dla mnie najważniejsze jest to, że nie działa z mongoid
Tym razem na tapecie service objects: Service objects in Rails will help you design clean and maintainable code.
Świetna notka, chociaż klepanie rubiego za kiepskie wątki już w 2010 było stare