Single Page Apps with Breeze and Ruby.

Slides:



Advertisements
Similar presentations
Svetlin Nakov Director Training and Consulting Activities National Academy for Software Development (NASD) ASP.NET 3.5 New Features.
Advertisements

12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Building and using REST information services Rion Dooley.
#spsevents #spsphx SPS EVENTS PHX Know REST for the Query AN INTRODUCTION TO REST FOR SHAREPOINT 2013 ERIC J OSZAKIEWSKI, MCTS, MS, MCPS.
Turners SharePoint Web Site How we did it. 2 Page Anatomy Custom Search Web Part Custom Search Web Part Data Form Web Parts Content Query Web Part HTML.
SQLShare CLI interface (Python) SQLShare REST API (C#, Web Role, Windows Azure) SQLShare Database (SQL Azure; SQL Server on.
Introduction to Backend James Kahng. Install Node.js.
1 Chapter 12 Working With Access 2000 on the Internet.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
Multiple Tiers in Action
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
Any host All components deployed to SharePoint Client side code App Web created for app Wrapper deployed to SharePoint Components deployed to.
RESTful Web Development With Nodejs and Express. REST Stands for REpresentational State Transfer Has the following constraints: ◦Client-Server ◦Stateless.
Presented by…. Group 2 1. Programming language 2Introduction.
Ruby on Rails CSCI 6314 David Gaspar Jennifer Garcia Avila.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Create a Website Session I Key Components Hands-on HTML.
NextGen Technology upgrade – Synerizip - Sandeep Kamble.
CSS Class 6 Make image into a button Create button with button element Group related form elements Control tab order Process form data.
JavaScript & jQuery the missing manual Chapter 11
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
What’s New? – BCS 2013 Brett Lonsdale.  Co-founder of Lightning Tools  One of the hosts on the SharePoint Pod Show  Co-organizer of SharePoint Saturday.
WaveMaker Visual AJAX Studio 4.0 Training Installation.
ADO.NET DATA SERVICES Mike Taulty Developer & Platform Group Microsoft UK
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
Introduction to the SharePoint 2013 REST API. 2 About Me SharePoint Solutions Architect at Sparkhound in Baton Rouge
ASP.NET 2.0 Caching Techniques + Ajax Overview Rahul Deshmukh CIS 764 – Database Design.
Instructions You must bring your own laptop, your presentation and a power supply Technical staff is present in all to assist with network, audio and video.
Web Architecture Introduction
HTML5 AND THE FUTURE JAVASCRIPT PLATFORM Marcelo Lopez Ruiz Senior Software Design Engineer Microsoft Corporation.
Welcome to Azure App Services! Amie Seisay
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Welcome to Azure App Services! Amie Seisay
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
Data lifecycle (CRUD+) Operation logic, query, databinding, change tracking, unit of work Validation User: authn/authz/profile.
Virtual techdays INDIA │ 9-11 February 2011 SESSION TITLE Kamala Rajan S │ Technical Manager, Marlabs.
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
Basics Components of Web Design & Development Basics, Components, Design and Development.
Azure Active Directory is becoming one of, if not the, primary user identity management services for cloud applications. One of Azure Active Directory's.
Esri UC 2014 | Technical Workshop | Administering ArcGIS for Server with Python Jon Bodamer.
Data Models for Web Applications
Visual Web & AJAX with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Developers Introduction to the Power BI Platform.
Dive into web development
Physics validation database
Introduction to Dynamic Web Programming
The Client-Server Model
RESTful Sevices Distributed Objects Presented by: Shivank Malik
Data Virtualization Tutorial… CORS and CIS
AJAX and REST.
An introduction to REST for SharePoint 2013
PHP Training at GoLogica in Bangalore
ADO.NEXT Advances in Data Access for 2008
Accessing Data in a .NET Web Application
A technical look at the new capabilities
Please thank our sponsors!
TechEd /22/2019 9:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Azure Cosmos DB with SQL API .Net SDK
Building production-ready APIs with ASP.NET Core 2.2
Python and REST Kevin Hibma.
PHP Forms and Databases.
Visual Studio + SQL Server Is Better
Web APIs In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application.
Client-Server Model: Requesting a Web Page
WCF Data Services and Silverlight
© 2017, Mike Murach & Associates, Inc.
Presentation transcript:

Single Page Apps with Breeze and Ruby

John Papas Code Camper Jumpstart

Features Multi-entity model Navigation properties / cached lookup lists Projections / partial entities Change notification Dirty checking Validation Save Local storage

Keys Client app is server agnostic (almost) Ruby on Rails (RoR) server Straight rails; no breeze.ruby components REST API Python web server No MS

Not anti-Microsoft

If it works in Ruby it can work for you

Run it 1.Download from GitHubDownload from GitHub 2.Setup install gems and create sample MySQL database 3.Start rails server bundle exec rails s 4.Start client application server python –m http.server 5.Launch in browser ~\ccjs_ruby\rails>bundle exec rails s

Demo

Web Server HTML, JavaScript, CSS, images

Code Tour

RoR Server

RoR Server – Configuration Locate the My SQL database

RoR Server – Configuration Breeze Metadata

RoR Server – Model View Controller

RoR Server – Controllers Cross Origin Resource Sharing

RoR Server – Models

RoR Server - Controllers Sessions Controller GET by id GET all PUT POST DELETE

Sessions Controller – Index (get all) Partial entity if $select in query Default sort order is time_slot_id but client typically wants by timeslot, track, speaker name Make speaker available in case sorting on speaker name Projection (selected fields)

RoR Server – Session Views

RoR Server – Controllers

RoR Server - Views

API Differences

Rails serialization vs JSON.NET serialization Rails Session JSON.NET Session Rails-style entity property_names No $id node property $type node property is readable (v. anonymous type)

Rails REST update vs Breeze save changes PUT to resource w/ id=1 Send only the changed values POST to SaveChanges Send entire entity

Adjust breeze client for Rails API

Configure adapters Inject with RequireJS Breeze extension points

AjaxRestInterceptor Tweak the breeze ajax adapter to convert OData id-query into a REST URL e.g., /breeze/Sessions/?$filter=id eq 1 /breeze/Sessions/1

DataServiceAdapter Replace POST to SaveChanges with REST PUT/POST/DELETE to entity type controllers

JsonResultsAdapter Identify partial entity JSON data nodes

NamingConvention Convert property names e.g., timeSlotId time_slot_id

Thank you, RubyTribe