SlideShare a Scribd company logo
Building Ambitious Web Applications
Ryan Anklam
About Me
• Senior UI Engineer at Netflix
• Friend of Open Source
• @bittersweetryan
Why Ember?
Why Ember
Why Ember
Strong conventions
Why Ember
URL’s are first class citizens
Why Ember
Handlebars is the right
abstraction
Why Ember
Ember data
Why Ember
Core Concepts
Core Concepts
Templates
Core Concepts
Routes
Core Concepts
Controllers
Core Concepts
Components
Core Concepts
Models
Let’s Build
Something
Application &
App.Router
Application & App.Router
App = Ember.Application.create();
Everything will be attached to this object.
Application & App.Router
App.Router.map(function() {
!
this.resource( 'sessions', { path : 'sessions' }, function(){
this.route( 'add' );
} );
this.route( 'session', { path : 'session/:id'} );
!
this.resource( 'speakers', { path : 'speakers' }, function(){
this.route( 'speaker', { path : '/:name' } );
});
});
A resource can have nested routeshttp://<server>/#/sessions
http://<server>/#/sessions/add
http://<server>/#/session/1
http://<server>/#/speakers
http://<server>/#/speakers/Ryan%20Anklam
Templates
Core Concepts
Handlebars + Ember
===
Powerful Templating
Templates
<script type="text/x-handlebars">
<header>
<h1> Welcome to cf.Objective (2014)</h1>
</header>
<nav>
<ul>
<li class="nav-item">{{#link-to 'index'}}Home{{/link-to}}</li>
<li class="nav-item">{{#link-to 'sessions'}}Sessions{{/link-to}}</li>
<li class="nav-item">{{#link-to 'speakers'}}Speakers{{/link-to}}</li>
</ul>
</nav>
<div class="content">
{{outlet}}
</div>
</script>
http://<server>/
http://<server>/#/sessions
http://<server>/#/speakers
Routes will output here
Templates
<script type="text/x-handlebars" data-template-name="index">
<div class="welcome>"
<p class="welcome-message">
This is an app to show off some of what is
cool in Ember.js
</p>
</div>
</script>
Loads in {{outlet}} when index route is active
Templates
<script type="text/x-handlebars" data-template-name="loading">
<div class="loading">Loading...</div>
</script>
Will load into {{outlet}} when a data promise is in flight
Templates
<script type="text/x-handlebars" data-template-name="error">
<div class="error">
There was an error loading this page.
</div>
</script>
Will load into {{outlet}} when a data promise is rejected
Templates
<script type="text/x-handlebars" data-template-name="session">
<h2 {{bind-attr class=goingClass}}>
{{name}}{{#if going}}&nbsp;(Going){{/if}}
</h2>
<p>{{description}}</p>
<button {{action 'going' this}} class=“button">
I'm {{#if going}}Not{{/if}} Going
</button>
</script>
Loads in {{outlet}} when session route is active
Routes
Routes
App.SessionRoute = Ember.Route.extend({
model : function( params ){
return this.store.find( 'session', params.session_id );
}
} );
this.route( 'session', { path : 'session/:id'} );
Resources
App.SessionsIndexRoute = Ember.Route.extend({
model: function() {
return this.store.find( 'session' );
}
});
this.resource( 'sessions', { path : 'sessions' }, function(){
this.route( 'add' );
} );
Resources
App.SessionsAddRoute = Ember.Route.extend({
model : function(){
return {
speakers : this.store.find( 'speaker' ),
tracks : ['JS','Architecture']
};
}
});
this.resource( 'sessions', { path : 'sessions' }, function(){
this.route( 'add' );
} );
Controllers
Session Template
GoingName
Session Model
Controllers
Session Controller
Controllers
App.SessionController = Ember.ObjectController.extend({
actions : {
going : function( session ){
session.toggleProperty( 'going' );
!
}
},
goingClass : function(){
return (this.get( 'going' ))? 'attending' : '';
}.property( 'going' )
});
this.route( 'session', { path : 'session/:id'} );
<button {{action 'going' this}} class=“button">
<h2 {{bind-attr class=goingClass}}>
Controllers
App.SessionsIndexController = Ember.ArrayController.extend({
attending : function(){
return this.reduce( function( prev, curr ){
if( curr.get( 'going' ) ){
return prev + 1;
}
else{
return prev;
}
}, 0);
}.property( '@each.going'),
});
Tells the controller to update when any going property changes
this is the collection of objects returned by the route
Controllers
App.SessionsAddController = Ember.ObjectController.extend({
actions : {
addSession : function(){
var session = this.store.createRecord( 'session', {
track : this.get( 'track' ),
name : this.get( 'name' ),
description : this.get( 'description' ),
speaker : this.get( 'speaker' )
} );
!
this.transitionToRoute('session',session);
}
}
});
Redirect to the session route
Ember Data
Ember Data
• Swappable Adapters
• Relationships
• Fully embraces promises
• Data caching
• Fixtures speed up development
Store
App.ApplicationAdapter = DS.FixtureAdapter;App.ApplicationAdapter = DS.LocalStorageAdapter;App.ApplicationAdapter = DS.ParseAdapter;App.ApplicationAdapter = DS.FirebaseAdapter;
Store
App = Ember.Application.create();
!
App.ApplicationAdapter = DS.FixtureAdapter.extend();
Store
App.Session = DS.Model.extend({
track : DS.attr( 'string' ),
name : DS.attr( 'string' ),
description: DS.attr( 'string' ),
going: DS.attr( 'boolean', {defaultValue : false} ),
speaker : DS.belongsTo('speaker')
});
this.route( 'session', { path : 'session/:id'} );
Store
App.Speaker = DS.Model.extend({
firstName : DS.attr( 'string' ),
lastName : DS.attr('string'),
fullName : function(){
return
this.get( 'firstName' ) + ' ' + this.get( 'lastName' );
}.property( 'firstName', 'lastName' ),
bio : DS.attr( 'string' ),
sessions: DS.hasMany('session', { async : true } )
});
Components
No, Seriously.
Components.
Built with components
Component
<script type="text/x-handlebars"
data-template-name="components/speaker-bio">
!
<article class="speaker-bio">
<h2 class="speaker-name">{{name}}</h2>
<section class="speaker-description">
{{bio}}
</section>
{{#if sessions}}
<h3>Sessions</h3>
<ul>
{{#each session in sessions}}
<li>{{session.name}}</li>
{{/each}}
</ul>
{{/if}}
</article>
</script>
Becomes component name
Properties are encapsulated
Component
<script type="text/x-handlebars" data-template-name="speakers">
<h1>Speakers</h1>
{{#each item in model}}
{{#with item}}
{{speaker-bio name=fullName bio=bio sessions=sessions}}
{{/with}}
{{/each}}
</script>
Add the component to a templatePass properties into component
Component
App.SpeakerBioComponent = Ember.Component.extend({
actions: {
toggleBody: function() {
this.toggleProperty('isShowingBody');
}
}
});
Getting Help
Why Ember
Ember Inspector
Why Ember
http://discuss.emberjs.com/
IRC: freenode.net #emberjs
Looking Ahead
Looking Ahead
Ember CLI
(currently in beta)
Why Ember
HTMLBars
(currently in alpha)
Why Ember
Ember-Data 1.0
(currently in beta)
Ad

Recommended

Satellite Apps around the Cloud: Integrating your infrastructure with JIRA St...
Satellite Apps around the Cloud: Integrating your infrastructure with JIRA St...
Atlassian
 
Plug it on!... with railties
Plug it on!... with railties
rails.mx
 
Routes
Routes
Dharin Rajgor
 
PowerShell with SharePoint 2013 and Office 365 - EPC Group
PowerShell with SharePoint 2013 and Office 365 - EPC Group
EPC Group
 
Introduction to Ember.js and how we used it at FlowPro.io
Introduction to Ember.js and how we used it at FlowPro.io
Paul Knittel
 
Introducing Athena: 08/19 Big Data Application Meetup, Talk #3
Introducing Athena: 08/19 Big Data Application Meetup, Talk #3
Cask Data
 
Getting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browser
Dan Jenkins
 
Getting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browser
Dan Jenkins
 
PWA 與 Service Worker
PWA 與 Service Worker
Anna Su
 
Concurrecny inf sharp
Concurrecny inf sharp
Riccardo Terrell
 
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
Yuichiro MASUI
 
AtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-ons
Atlassian
 
Django for IoT: From hackathon to production (DjangoCon US)
Django for IoT: From hackathon to production (DjangoCon US)
Anna Schneider
 
Angular Tutorial Freshers and Experienced
Angular Tutorial Freshers and Experienced
rajkamaltibacademy
 
Ektron CMS400 8.02
Ektron CMS400 8.02
Alpesh Patel
 
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
PHP Conference Argentina
 
Jetpack Navigation Component
Jetpack Navigation Component
James Shvarts
 
Search APIs in Spotlight and Safari
Search APIs in Spotlight and Safari
Yusuke Kita
 
REST API for your WP7 App
REST API for your WP7 App
Agnius Paradnikas
 
Introduction to AJAX In WordPress
Introduction to AJAX In WordPress
Caldera Labs
 
Oracle APEX Performance
Oracle APEX Performance
Scott Wesley
 
Going Headless with Craft CMS 3.3
Going Headless with Craft CMS 3.3
JustinHolt20
 
EdgeWorkers: Enabling Autonomous, Developer Friendly Programming at the Edge
EdgeWorkers: Enabling Autonomous, Developer Friendly Programming at the Edge
Akamai Developers & Admins
 
Elefrant [ng-Poznan]
Elefrant [ng-Poznan]
Marcos Latorre
 
MAF push notifications
MAF push notifications
Luc Bors
 
Hidden Gems in ColdFusion 11
Hidden Gems in ColdFusion 11
ColdFusionConference
 
Relationships are hard
Relationships are hard
ColdFusionConference
 
Refactoring your legacy app to a MVC framework
Refactoring your legacy app to a MVC framework
ColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
ColdFusionConference
 
Cfobjective fusion reactor sponsor talk
Cfobjective fusion reactor sponsor talk
ColdFusionConference
 

More Related Content

What's hot (17)

PWA 與 Service Worker
PWA 與 Service Worker
Anna Su
 
Concurrecny inf sharp
Concurrecny inf sharp
Riccardo Terrell
 
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
Yuichiro MASUI
 
AtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-ons
Atlassian
 
Django for IoT: From hackathon to production (DjangoCon US)
Django for IoT: From hackathon to production (DjangoCon US)
Anna Schneider
 
Angular Tutorial Freshers and Experienced
Angular Tutorial Freshers and Experienced
rajkamaltibacademy
 
Ektron CMS400 8.02
Ektron CMS400 8.02
Alpesh Patel
 
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
PHP Conference Argentina
 
Jetpack Navigation Component
Jetpack Navigation Component
James Shvarts
 
Search APIs in Spotlight and Safari
Search APIs in Spotlight and Safari
Yusuke Kita
 
REST API for your WP7 App
REST API for your WP7 App
Agnius Paradnikas
 
Introduction to AJAX In WordPress
Introduction to AJAX In WordPress
Caldera Labs
 
Oracle APEX Performance
Oracle APEX Performance
Scott Wesley
 
Going Headless with Craft CMS 3.3
Going Headless with Craft CMS 3.3
JustinHolt20
 
EdgeWorkers: Enabling Autonomous, Developer Friendly Programming at the Edge
EdgeWorkers: Enabling Autonomous, Developer Friendly Programming at the Edge
Akamai Developers & Admins
 
Elefrant [ng-Poznan]
Elefrant [ng-Poznan]
Marcos Latorre
 
MAF push notifications
MAF push notifications
Luc Bors
 
PWA 與 Service Worker
PWA 與 Service Worker
Anna Su
 
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
Yuichiro MASUI
 
AtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-ons
Atlassian
 
Django for IoT: From hackathon to production (DjangoCon US)
Django for IoT: From hackathon to production (DjangoCon US)
Anna Schneider
 
Angular Tutorial Freshers and Experienced
Angular Tutorial Freshers and Experienced
rajkamaltibacademy
 
Ektron CMS400 8.02
Ektron CMS400 8.02
Alpesh Patel
 
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
2013 - Nate Abele: HTTP ALL THE THINGS: Simplificando aplicaciones respetando...
PHP Conference Argentina
 
Jetpack Navigation Component
Jetpack Navigation Component
James Shvarts
 
Search APIs in Spotlight and Safari
Search APIs in Spotlight and Safari
Yusuke Kita
 
Introduction to AJAX In WordPress
Introduction to AJAX In WordPress
Caldera Labs
 
Oracle APEX Performance
Oracle APEX Performance
Scott Wesley
 
Going Headless with Craft CMS 3.3
Going Headless with Craft CMS 3.3
JustinHolt20
 
EdgeWorkers: Enabling Autonomous, Developer Friendly Programming at the Edge
EdgeWorkers: Enabling Autonomous, Developer Friendly Programming at the Edge
Akamai Developers & Admins
 
MAF push notifications
MAF push notifications
Luc Bors
 

Viewers also liked (20)

Hidden Gems in ColdFusion 11
Hidden Gems in ColdFusion 11
ColdFusionConference
 
Relationships are hard
Relationships are hard
ColdFusionConference
 
Refactoring your legacy app to a MVC framework
Refactoring your legacy app to a MVC framework
ColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
ColdFusionConference
 
Cfobjective fusion reactor sponsor talk
Cfobjective fusion reactor sponsor talk
ColdFusionConference
 
My charts can beat up your charts
My charts can beat up your charts
ColdFusionConference
 
Ready? bootstrap. go! (cf objective 14 05-2014)
Ready? bootstrap. go! (cf objective 14 05-2014)
ColdFusionConference
 
Hidden gems in cf2016
Hidden gems in cf2016
ColdFusionConference
 
Dev objecttives-2015 auth-auth-fine-grained-slides
Dev objecttives-2015 auth-auth-fine-grained-slides
ColdFusionConference
 
Refactor Large applications with Backbone
Refactor Large applications with Backbone
ColdFusionConference
 
Building better SQL Server Databases
Building better SQL Server Databases
ColdFusionConference
 
Mura intergration-slides
Mura intergration-slides
ColdFusionConference
 
Sql killedserver
Sql killedserver
ColdFusionConference
 
Level up your front-end skills- going beyond cold fusion’s ui tags
Level up your front-end skills- going beyond cold fusion’s ui tags
ColdFusionConference
 
This is how we REST
This is how we REST
ColdFusionConference
 
Cf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanship
ColdFusionConference
 
2014 cf summit_clustering
2014 cf summit_clustering
ColdFusionConference
 
Safeguarding applications from cyber attacks
Safeguarding applications from cyber attacks
ColdFusionConference
 
Where is cold fusion headed
Where is cold fusion headed
ColdFusionConference
 
Git sourcecontrolpreso
Git sourcecontrolpreso
ColdFusionConference
 
Refactoring your legacy app to a MVC framework
Refactoring your legacy app to a MVC framework
ColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
ColdFusionConference
 
Cfobjective fusion reactor sponsor talk
Cfobjective fusion reactor sponsor talk
ColdFusionConference
 
Ready? bootstrap. go! (cf objective 14 05-2014)
Ready? bootstrap. go! (cf objective 14 05-2014)
ColdFusionConference
 
Dev objecttives-2015 auth-auth-fine-grained-slides
Dev objecttives-2015 auth-auth-fine-grained-slides
ColdFusionConference
 
Refactor Large applications with Backbone
Refactor Large applications with Backbone
ColdFusionConference
 
Building better SQL Server Databases
Building better SQL Server Databases
ColdFusionConference
 
Level up your front-end skills- going beyond cold fusion’s ui tags
Level up your front-end skills- going beyond cold fusion’s ui tags
ColdFusionConference
 
Cf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanship
ColdFusionConference
 
Safeguarding applications from cyber attacks
Safeguarding applications from cyber attacks
ColdFusionConference
 
Ad

Similar to Emberjs building-ambitious-web-applications (20)

Ember vs Backbone
Ember vs Backbone
Abdriy Mosin
 
Introduction to Ember
Introduction to Ember
SmartLogic
 
Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications
Juliana Lucena
 
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible
 
Getting into ember.js
Getting into ember.js
reybango
 
Ember.js: Jump Start
Ember.js: Jump Start
Viacheslav Bukach
 
Ember.js Meetup Brussels 31/10/2013
Ember.js Meetup Brussels 31/10/2013
Hstry
 
Workshop 16: EmberJS Parte I
Workshop 16: EmberJS Parte I
Visual Engineering
 
Introduction to Ember.js
Introduction to Ember.js
Jeremy Brown
 
Intro to ember.js
Intro to ember.js
Leo Hernandez
 
A Beginner's Guide to Ember
A Beginner's Guide to Ember
Richard Martin
 
Emberjs and ASP.NET
Emberjs and ASP.NET
Mike Melusky
 
Ember presentation
Ember presentation
Daniel N
 
Riding the Edge with Ember.js
Riding the Edge with Ember.js
aortbals
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To Know
All Things Open
 
Ember.js for Big Profit
Ember.js for Big Profit
CodeCore
 
Create an application with ember
Create an application with ember
Chandra Sekar
 
Introduction to Ember.js
Introduction to Ember.js
Vinoth Kumar
 
Stackup New Languages Talk: Ember is for Everybody
Stackup New Languages Talk: Ember is for Everybody
Cory Forsyth
 
The road to Ember 2.0
The road to Ember 2.0
Filippo Zanella
 
Introduction to Ember
Introduction to Ember
SmartLogic
 
Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications
Juliana Lucena
 
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible
 
Getting into ember.js
Getting into ember.js
reybango
 
Ember.js Meetup Brussels 31/10/2013
Ember.js Meetup Brussels 31/10/2013
Hstry
 
Introduction to Ember.js
Introduction to Ember.js
Jeremy Brown
 
A Beginner's Guide to Ember
A Beginner's Guide to Ember
Richard Martin
 
Emberjs and ASP.NET
Emberjs and ASP.NET
Mike Melusky
 
Ember presentation
Ember presentation
Daniel N
 
Riding the Edge with Ember.js
Riding the Edge with Ember.js
aortbals
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To Know
All Things Open
 
Ember.js for Big Profit
Ember.js for Big Profit
CodeCore
 
Create an application with ember
Create an application with ember
Chandra Sekar
 
Introduction to Ember.js
Introduction to Ember.js
Vinoth Kumar
 
Stackup New Languages Talk: Ember is for Everybody
Stackup New Languages Talk: Ember is for Everybody
Cory Forsyth
 
Ad

More from ColdFusionConference (20)

Api manager preconference
Api manager preconference
ColdFusionConference
 
Cf ppt vsr
Cf ppt vsr
ColdFusionConference
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
ColdFusionConference
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDF
ColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
ColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
ColdFusionConference
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
ColdFusionConference
 
ColdFusion in Transit action
ColdFusion in Transit action
ColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
ColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusionConference
 
Instant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
ColdFusionConference
 
Restful services with ColdFusion
Restful services with ColdFusion
ColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
ColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
ColdFusionConference
 
Why Everyone else writes bad code
Why Everyone else writes bad code
ColdFusionConference
 
Securing applications
Securing applications
ColdFusionConference
 
Testing automaton
Testing automaton
ColdFusionConference
 
Rest ful tools for lazy experts
Rest ful tools for lazy experts
ColdFusionConference
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandbox
ColdFusionConference
 
Realtime with websockets
Realtime with websockets
ColdFusionConference
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
ColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
ColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
ColdFusionConference
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
ColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
ColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
ColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
ColdFusionConference
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandbox
ColdFusionConference
 

Recently uploaded (20)

Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
Rierino Commerce Platform - CMS Solution
Rierino Commerce Platform - CMS Solution
Rierino
 
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
WSO2
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Puppy jhon
 
Migrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right Way
Alexander (Alex) Komyagin
 
Complete WordPress Programming Guidance Book
Complete WordPress Programming Guidance Book
Shabista Imam
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
joybepari360
 
Step by step guide to install Flutter and Dart
Step by step guide to install Flutter and Dart
S Pranav (Deepu)
 
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
BradBedford3
 
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
Rierino Commerce Platform - CMS Solution
Rierino Commerce Platform - CMS Solution
Rierino
 
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
WSO2
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Puppy jhon
 
Complete WordPress Programming Guidance Book
Complete WordPress Programming Guidance Book
Shabista Imam
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
joybepari360
 
Step by step guide to install Flutter and Dart
Step by step guide to install Flutter and Dart
S Pranav (Deepu)
 
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
BradBedford3
 
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 

Emberjs building-ambitious-web-applications