Vue on Rails


Book Description

Build modern and progressive web applications with Vue.js and Ruby on Rails. As the Rails community embraces JavaScript, this book answers your most pressing questions, including how to integrate front-end technologies with Rails, whether to build a single-page application, when and how to use JavaScript in your project, how to scaffold a Vue component in Rails, and how to configure Vue.js in a Rails project. This book explores how to manage and understand priorities when working with Vue on Rails and how to determine the best configuration for your project. You'll see how to reuse your Vue components in a Rails project with less coding and harness the component options, as well as how to use props, events and slots of Vue components. You'll also use webpacker to set up your project and pass data from your Vue component to a Rails controller and back. Finally, you’ll learn which is the best configuration for the router and how to test and deploy your application. These topics are essential for developers and product owners because they cover end-to-end advice for building a web application incrementally or from scratch. Vue.js on Rails shows you just how easy it is to build and maintain a modern web app and save hundreds of hours integrating these two technologies. What You'll Learn Use Vue and Rails together to improve products Build a web app with a focus on developer happiness Take a pragmatic approach to web app development with practical code examples Save time configuring Vue and RailsControl and manage states in a Vue on Rails project Who This Book Is For Product owners seeking a technology for a company’s products with an emphasis on development scalability; business owners looking to maximize developer satisfaction and successful product development; technical managers requiring a pragmatic and successful web app development strategy;and new and experienced developers and designers learning to build web apps using the best tools available.




Rails 5 Test Prescriptions


Book Description

Does your Rails code suffer from bloat, brittleness, or inaccuracy? Cure these problems with the regular application of test-driven development. You'll use Rails 5.1, Minitest 5, and RSpec 3.6, as well as popular testing libraries such as factory_girl and Cucumber. Updates include Rails 5.1 system tests and Webpack integration. Do what the doctor ordered to make your applications feel all better. Side effects may include better code, fewer bugs, and happier developers. Your Ruby on Rails application is sick. Deadlines are looming, but every time you make the slightest change to the code, something else breaks. Nobody remembers what that tricky piece of code was supposed to do, and nobody can tell what it actually does. Plus, it has bugs. You need test-driven development: a process for improving the design, maintainability, and long-term viability of software. With both practical code examples and discussion of why testing works, this book starts with the most basic features delivered as part of core Ruby on Rails. Once you've integrated those features into your coding practice, work with popular third-party testing tools such as RSpec, Jasmine, Cucumber, and factory_girl. Test the component parts of a Rails application, including the back-end model logic and the front-end display logic. With Rails examples, use testing to enable your code to respond better to future change. Plus, see how to handle real-world testing situations. This new edition has been updated to Rails 5.1 and RSpec 3.6 and contains full coverage of new Rails features, including system tests and the Webpack-based JavaScript setup. What You Need: Ruby 2.4, Rails 5.1




Fullstack Vue


Book Description

Ready to Master Vue.js? What if you could master the entire framework - with solid foundations - in less time without beating your head against a wall? Imagine how quickly you could work if you knew the best practices and the best tools? Stop wasting your time searching and have everything you need to be productive in one, well-organized place, with complete examples to get your project up without needing to resort to endless hours of research. Lots of Sample Apps and Code You will learn what you need to know to work professionally with Fullstack Vue: The Complete Guide to Vue.js You'll build: A Server-Persisted Shopping Cart Use the Flux-like library Vuex to manage data for a large shopping cart application that persists information on to a local server. A Calendar Event App Dive deeper into component based architecture by learning how simple state management works with Vue Single-file components. A Voting Application Learn how to render dynamic components and use standard Vue directives to build an interactive voting application. Forms with Validations Build powerful forms that accept user input, and give clear messaging when the input is of an invalid format. Vuex-based Routes and Authentication Build on top of the server persisted shopping cart app by creating dynamic routes and a token authentication flow with the official vue-router library. Build bullet-proof apps with Testing Use Vue's official test utility library, vue-test-utils, to create meaningful tests for a daily weather app that interacts with a third party API. What our Customers Say "Another must read from the team! Going through the book's real-world apps is like growing your dev superpowers one concept at a time." -- Luis Fernando Saavedra Meza "Providing code variations for every step along the way has been really helpful, by showing how the end result should look and making it easier for me to reproduce it!" -- Marina Landisberg "Hands up to Hassan for this masterpiece. In ready to follow steps and concise manner, you'll guided to master the framework of the future piece by piece. This book will make you love the frontend again and overcome the Javascript fatigue. Great job!" -- Christoph Jasinksi




Practical Object-oriented Design in Ruby


Book Description

The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. This book focuses squarely on object-oriented Ruby application design. Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues. This guide will help you Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade Decide what belongs in a single Ruby class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Design cost-effective tests Solve common problems associated with poorly designed Ruby code




Design Patterns in Ruby


Book Description

Praise for Design Patterns in Ruby "Design Patterns in Ruby documents smart ways to resolve many problems that Ruby developers commonly encounter. Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. He clearly explains each idea, making a wealth of experience available to Ruby developers for their own daily work." —Steve Metsker, Managing Consultant with Dominion Digital, Inc. "This book provides a great demonstration of the key 'Gang of Four' design patterns without resorting to overly technical explanations. Written in a precise, yet almost informal style, this book covers enough ground that even those without prior exposure to design patterns will soon feel confident applying them using Ruby. Olsen has done a great job to make a book about a classically 'dry' subject into such an engaging and even occasionally humorous read." —Peter Cooper "This book renewed my interest in understanding patterns after a decade of good intentions. Russ picked the most useful patterns for Ruby and introduced them in a straightforward and logical manner, going beyond the GoF's patterns. This book has improved my use of Ruby, and encouraged me to blow off the dust covering the GoF book." —Mike Stok "Design Patterns in Ruby is a great way for programmers from statically typed objectoriented languages to learn how design patterns appear in a more dynamic, flexible language like Ruby." —Rob Sanheim, Ruby Ninja, Relevance Most design pattern books are based on C++ and Java. But Ruby is different—and the language's unique qualities make design patterns easier to implement and use. In this book, Russ Olsen demonstrates how to combine Ruby's power and elegance with patterns, and write more sophisticated, effective software with far fewer lines of code. After reviewing the history, concepts, and goals of design patterns, Olsen offers a quick tour of the Ruby language—enough to allow any experienced software developer to immediately utilize patterns with Ruby. The book especially calls attention to Ruby features that simplify the use of patterns, including dynamic typing, code closures, and "mixins" for easier code reuse. Fourteen of the classic "Gang of Four" patterns are considered from the Ruby point of view, explaining what problems each pattern solves, discussing whether traditional implementations make sense in the Ruby environment, and introducing Ruby-specific improvements. You'll discover opportunities to implement patterns in just one or two lines of code, instead of the endlessly repeated boilerplate that conventional languages often require. Design Patterns in Ruby also identifies innovative new patterns that have emerged from the Ruby community. These include ways to create custom objects with metaprogramming, as well as the ambitious Rails-based "Convention Over Configuration" pattern, designed to help integrate entire applications and frameworks. Engaging, practical, and accessible, Design Patterns in Ruby will help you build better software while making your Ruby programming experience more rewarding.




Modern Front-End Development for Rails


Book Description

Improve the user experience for your Rails app with rich, engaging client-side interactions. Learn to use the Rails 6 tools and simplify the complex JavaScript ecosystem. It's easier than ever to build user interactions with the Webpacker gem and Stimulus. You can add great front-end flair without much extra complication. Add React to build an even more extensive set of client-side features. Structure your code for different levels of client-side needs with these powerful options. Add to your toolkit today! It's hard to have a Rails application without integrating some client-side logic. But client-side coding tools, and the Rails tools for integrating with them, all change continuously. Rails 6 simplifies client-side integration with the Webpacker gem. It's the default tool for building client-side assets for use by web browsers. Learn how to use Rails 6 and Webpacker to build rich front-end logic into your Rails applications. The job is even easier with Stimulus, a library that brings Rails conventions to JavaScript tools. Add in some React, a popular framework that automatically updates the browser when your data changes. Learn the basics of webpack, Webpacker, and TypeScript, and add pizazz to your application. Structure your web application to best manage your state. Learn how to interact with data on the server while still keeping the user experience interactive. Use the type system in TypeScript to expand on JavaScript and help prevent error conditions. Debug and test your front-end application with tools specific to each framework. There are a lot of ways to do client-side coding, and Rails is here to help. What You Need: This book requires Ruby on Rails 6.0+, React 16.8.0+. Other dependencies will be added by Rails.




Testing Vue.js Applications


Book Description

Summary Testing Vue.js Applications is a comprehensive guide to testing Vue components, methods, events, and output. Author Edd Yerburgh, creator of the Vue testing utility, explains the best testing practices in Vue along with an evergreen methodology that applies to any web dev process. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Web developers who use the Vue framework love its reliability, speed, small footprint, and versatility. Vue's component-based approach and use of DOM methods require you to adapt your app-testing practices. Learning Vue-specific testing tools and strategies will ensure your apps run like they should. About the Book With Testing Vue.js Applications, you'll discover effective testing methods for Vue applications. You'll enjoy author Edd Yerburgh's engaging style and fun real-world examples as you learn to use the Jest framework to run tests for a Hacker News application built with Vue, Vuex, and Vue Router. This comprehensive guide teaches the best testing practices in Vue along with an evergreen methodology that applies to any web dev process. What's inside Unit tests, snapshot tests, and end-to-end tests Writing unit tests for Vue components Writing tests for Vue mixins, Vuex, and Vue Router Advanced testing techniques, like mocking About the Reader Written for Vue developers at any level. About the Author Edd Yerburgh is a JavaScript developer and Vue core team member. He's the main author of the Vue Test Utils library and is passionate about open source tooling for testing component-based applications. Table of Contents Introduction to testing Vue applications Creating your first test Testing rendered component output Testing component methods Testing events Understanding Vuex Testing Vuex Organizing tests with factory functions Understanding Vue Router Testing Vue Router Testing mixins and filters Writing snapshot tests Testing server-side rendering Writing end-to-end tests APPENDIXES A - Setting up your environment B - Running the production build C - Exercise answers




Crafting Rails 4 Applications


Book Description

Get ready to see Rails as you've never seen it before. Learn how to extend the framework, change its behavior, and replace whole components to bend it to your will. Eight different test-driven tutorials will help you understand Rails' inner workings and prepare you to tackle complicated projects with solutions that are well-tested, modular, and easy to maintain. This second edition of the bestselling Crafting Rails Applications has been updated to Rails 4 and discusses new topics such as streaming, mountable engines, and thread safety. Rails is one of the most extensible frameworks out there. This pioneering book deep-dives into the Rails plugin APIs and shows you, the intermediate Rails developer, how to use them to write better web applications and make your day-to-day work with Rails more productive. Rails Core developer Jose Valim guides you through eight different tutorials, each using test-driven development to build a new Rails plugin or application that solves common problems with these APIs. You'll learn how the Rails rendering stack works and customize it to read templates from the database while you discover how to mimic Active Record behavior, such as validations, in any other object. You'll find out how Rails integrates with Rack, the different ways to stream data from your web application, and how to mix Rails engines and Sinatra applications into your Rails apps, so you can choose the most appropriate tool for the job. In addition, you'll improve your productivity by customizing generators and responders. This book will help you understand Rails' inner workings, including generators, template handlers, internationalization, routing, and responders. With the knowledge you'll gain, you'll create well-tested, modular, and robust solutions for your next project.




Full-Stack Web Development with Vue.Js and Node


Book Description

Bring the frontend and backend together with Vue, Vuex, and Node.js Key Features Construct modern web applications with Node 10, Express.js, MongoDB, and Vue Leverage the latest web standards to increase code performance, readability, and cross-compatibility Harness the power of the JavaScript ecosystem to effectively run, build, and test your full stack applications Book Description Isomorphic JavaScript was the buzzword of the year 2017, allowing developers to utilize a single language throughout their web development stack and build cost-effective and scalable applications. MEVN is a one such modern web development stack consisting of web applications such as MongoDB, Express.js, Vue.js, and Node.js. Hands-On Full-Stack Web Development with Vue.js 2 and Node.js leverages the harmony of these technologies to help you create full-stack web applications. Starting with the core frameworks, this example-based guide explains all the key concepts of frameworks, how to set them up properly, and how to use popular modules to connect them together and make them work cohesively. You will learn all this with the help of real-world examples. In addition to this, you will be able to scaffold web application architecture, add an authentication layer, and develop the MVC structure to support the development of your application. You'll explore how to create data models for your applications and then write REST APIs by exposing your data model to your application. Solely orientated towards building a full, end-to-end application using the MEVN stack, this book will help you understand how your application development grows. What you will learn Build an application with Express.js Create schemas using Mongoose Develop a single-page application using Vue.js and Express.js Create RESTful APIs using Express.js Add test cases to improve the reliability of the application Learn how to deploy apps on Heroku using GitHub Add authorization using passports Who this book is for If you are a web or a full-stack JavaScript developer, and have tried your hand at traditional stacks such as LAMP, MEAN or MERN, or wish to explore a new stack with modern web technologies, then this book is for you. Prior knowledge of HTML, CSS, and JavaScript would be an added advantage.




Vue.js in Action


Book Description

Summary Web pages are rich with data and graphics, and it's challenging to maintain a smooth and quick user experience. Vue.js in Action teaches you how to build a fast, flowing web UI with the Vue.js framework. As you move through the book, you'll put your skills to practice by building a complete web store application with product listings, a checkout process, and an administrative interface. About the technology Vue.js is a lightweight frontend framework, offering easy two-way data binding, a reactive UI, and a common-sense project structure. It uses UI patterns and modern HTML to deliver impossibly fast page loads and silky smooth transitions—all from a tiny code footprint. It’s a delight to develop in Vue using ordinary JavaScript and its integrated Vuex state management tool. About the book Vue.js in Action is your guide to building modern web apps. You’ll start by exploring the reactive UI model while you get comfortable with Vue’s unique features. Then, you’ll go deeper as you build a shopping cart with an admin interface and the ability to manage stock! Finally, you’ll extend your app, adding transitions, tests, and other key features until it’s production ready. What's inside Clearly annotated code and illustrations Modeling data and consuming APIs Easy state management with Vuex Creating custom directives About the reader Written for web developers with some experience in JavaScript, HTML, and CSS. About the author Erik Hanchett and Benjamin Listwon are experienced web engineers and fearless explorers of new ideas. Vue.js is a front-end framework that builds on many of the reactive UI ideas introduced in React.js. Vue.js in Action teaches readers to build fast, flowing web UI with the Vue.js framework. As they move through the book, readers put their skills to practice by building a complete web store application with product listings, a checkout process, and an administrative interface! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.