dimanche 21 août 2016

Le langage de programmation ruby 21082016



Rails 5.0: Action Cable, API mode, and so much more Rails 5.0: Action câble, mode API, et bien plus encore

After six months of polish, four betas, and two release candidates, Rails 5.0 is finally done! Après six mois de polish, quatre bêtas, et deux versions candidates, Rails 5.0 est enfin terminé! It's taken hundreds of contributors and thousands of commits to get here, but what a destination: Rails 5.0 is without a doubt the best, most complete version of Rails yet. Il a fallu des centaines de contributeurs et des milliers de commits pour arriver ici, mais quelle destination: Rails 5.0 est sans doute encore la meilleure version, plus complète de Rails. It's incredible that this community is still going so strong after so long. Il est incroyable que cette communauté va encore si forte après si longtemps. Thanks to everyone who helped get us here. Merci à tous ceux qui ont aidé à nous chercher ici.
The two star features of Rails 5.0 are as follows: Les deux caractéristiques des étoiles de Rails 5.0 sont les suivantes:

Action Cable câble d'action

Action Cable is a brand-new framework for handling WebSockets in Rails. Action par câble est un cadre flambant neuf pour la manipulation WebSockets dans Rails. It's a completely integrated solution for managing connections, a channels layer for server-side processing, and a JavaScript layer for client-side interaction. Il est une solution entièrement intégrée pour la gestion des connexions, une couche de canaux pour le traitement côté serveur, et une couche JavaScript pour l'interaction côté client. It's incredibly easy to use, and makes designing live features like chat, notifications, and presence so much easier. Il est incroyablement facile à utiliser, et rend la conception des fonctionnalités comme le chat en direct, les notifications, et la présence tellement plus facile. It's what's powering all those features of Basecamp 3 , if you want to see it in action. Il est ce qui est alimenter toutes ces fonctionnalités de Basecamp 3 , si vous voulez le voir en action.
What's really lovely about Action Cable is that you get access to your entire Active Record and PORO domain model in your WebSockets work. Ce qui est vraiment très agréable à propos de l'action du câble est que vous avez accès à l'ensemble de votre Active Record et le modèle de domaine PORO dans votre WebSockets travail. We even added a brand-new ActionController::Renderer system that makes it trivial to render your templates outside of controllers, when you want to reuse server-side templates for WebSocket responses. Nous avons même ajouté un tout nouveau ActionController :: Renderer système qui le rend trivial pour rendre vos modèles en dehors des contrôleurs, lorsque vous souhaitez réutiliser des modèles côté serveur pour les réponses WebSocket.
In development, Action Cable runs in-process with the rest of your app. Dans le développement, Action câble fonctionne en cours avec le reste de votre application. To do this, we've switched the default development server from Webrick to Puma . Pour ce faire, nous avons changé le serveur de développement par défaut de Webrick à Puma . In production, you may well want to run Action Cable servers in their own processes. Dans la production, vous pourriez bien vouloir exécuter des serveurs d'action du câble dans leurs propres processus. That's how we run it at Basecamp at scale. Voilà comment nous courons à Basecamp à l'échelle.
Special thanks to Pratik Naik , Javan Makhmali and Matthew Draper for their formative work on Action Cable. Remerciements particuliers à Pratik Naik , Javan Makhmali et Matthew Draper pour leur travail de formation sur l' action du câble.

API mode Mode API

Rails is not only a great choice when you want to build a full-stack application that uses server-side rendering of HTML templates, but also a great companion for the new crop of client-side JavaScript or native applications that just needs the backend to speak JSON. Rails est non seulement un excellent choix lorsque vous voulez construire une application pleine pile qui utilise le rendu côté serveur de modèles HTML, mais aussi un excellent compagnon pour la nouvelle récolte de côté client des applications natives JavaScript ou qui a juste besoin du backend pour parler JSON. We've made this even clearer now with the new –api mode. Nous avons fait cela encore plus clair maintenant avec le nouveau mode -API. If you create a new Rails application using rails new backend --api , you'll get a slimmed down skeleton and configuration that assumes you'll be working with JSON, not HTML. Si vous créez une nouvelle application Rails en utilisant des rails new backend --api , vous obtiendrez un squelette et une configuration allégée qui suppose que vous allez travailler avec JSON, pas HTML.
There's still more work to be done on this feature, but we're off to a great start. Il y a encore beaucoup de travail à faire sur cette fonctionnalité, mais nous sommes hors d'un excellent début. By default, API mode just relies on #to_json calls on model classes. Par défaut, le mode API repose uniquement sur #to_json appels sur les classes de modèle. But you can either use Jbuilder , Active Model Serializers , or look at the new JSONAPI::Resources project for a more advanced solution. Mais vous pouvez soit utiliser Jbuilder , Sérialiseurs modèles actifs , ou de regarder la nouvelle JSONAPI :: Ressources projet pour une solution plus avancée.
Thanks in particular to Santiago Pastorino and Jorge Bejar for making this happen. Merci en particulier à Santiago Pastorino et Jorge Bejar pour y parvenir.

Other highlights Autres faits saillants

  • One Rails Command instead of the split-brain setup between rake and rails, so now it's bin/rails db:migrate instead of bin/rake db:migrate (herding by Kasper Timm Hansen ). Un Rails de commande au lieu de la configuration split-brain entre râteau et rails, alors maintenant il est bin/rails db:migrate au lieu de bin/rake db:migrate (élevage par Kasper Timm Hansen ).
  • New Attributes API by Sean Griffin . Nouveaux attributs API par Sean Griffin .
  • The test runner now reports failures inline, so you don't have to complete the suite to see what went wrong. Le lanceur de test maintenant rapport échecs en ligne, de sorte que vous ne devez pas compléter la suite pour voir ce qui a mal tourné.
  • ApplicationRecord has been born as a default parent class of all models created by the generators. ApplicationRecord est né comme une classe de parent par défaut de tous les modèles créés par les générateurs.
  • ActiveRecord::Relation#in_batches makes it much easier to deal with record work in batches at a time to lessen memory overloads. ActiveRecord :: relations # in_batches rend beaucoup plus facile de traiter avec le travail d'enregistrement par lots à la fois pour réduire les surcharges de mémoire.
  • Post.where('id = 1').or(Post.where('id = 2')) gives you exactly what you'd think! Post.where ( 'id = 1'). Ou (Post.where ( 'id = 2')) vous donne exactement ce que vous pensez!
  • No more accidentally halting Active Record callbacks because the last statement is false. arrêter Pas plus accidentellement callbacks Active Record parce que la dernière déclaration est fausse. Now you throw(:abort) explicitly! Maintenant, vous jetez (: abort) explicitement!
You should really checkout the CHANGELOGs, though. Vous devriez vraiment la caisse changelogs, cependant. There's just so much new and good stuff available in all the frameworks: Il y a tellement de choses nouvelles et bonnes choses disponibles dans tous les cadres:
Rails 5.0 also ships with Turbolinks 5 – the one with native iOS and Android wrapper implementations! Rails 5.0 est également livré avec Turbolinks 5 - l'un avec iOS natifs et wrapper Android implémentations! If you've dismissed Turbolinks in the past, I urge you to checkout Sam Stephenson's RailsConf presentation: Turbolinks 5: I Can't Believe It's Not Native! . Si vous avez licencié Turbolinks dans le passé, je vous invite à commander la présentation de RailsConf Sam Stephenson: Turbolinks 5: I Can not Believe It est non autochtone! .
There's even more detail in the full Rails 5.0 release notes and Claudio B. did a nice little slide deck walking through some of his favorite improvements (and removals!). Il y a même plus en détail dans les Rails 5.0 notes de version complètes et Claudio B. a fait un joli petit jeu de diapositives marchant à travers certains de ses améliorations préférées (et absorptions!). And I did a brand-new let's build a blog in Rails 5 video to demonstrate the basics. Et je l' ai fait un tout nouveau nous allons construire un blog dans Rails 5 vidéo pour démontrer les bases.
Your dynamic release manager duo for Rails 5.0 was Eileen M. Uchitelle and Sean Griffin . Votre duo dynamique de gestionnaire de sortie pour Rails 5.0 était Eileen M. Uchitelle et Sean Griffin . And the undisputed PR merge champ was Rafael França ! Et le leader incontesté PR fusion champion était Rafael França !
Note: As per our maintenance policy , the release of Rails 5.0 will mean that bug fixes will only apply to 5.0.x, regular security issues to 5.0.x and 4.2.x, and severe security issues also to 5.0.x and 4.2.x (but when 5.1 drops, to 5.1.x, 5.0.x, and 4.2.x). Note: Conformément à notre politique de maintenance , la libération de Rails 5.0 signifie que les corrections de bogues ne s'appliqueront 5.0.x, les questions de sécurité régulières à 5.0.x et 4.2.x, et les questions de sécurité graves aussi 5.0.x et 4.2. x (mais quand 5,1 gouttes, à 5.1.x, 5.0.x et 4.2.x). This means 4.1.x and below will essentially be unsupported! Cela signifie 4.1.x et au-dessous sera essentiellement non pris en charge! Ruby 2.2.2+ is now also the only supported version of Rails 5.0+. Ruby 2.2.2+ est désormais la seule version prise en charge de Rails 5.0+.

Aucun commentaire:

Enregistrer un commentaire