[フレーム]
PPTX, PDF1,467 views

RapidApp - YAPC::NA 2014

This document provides an overview of RapidApp, a Catalyst extension that aims to speed web development. It discusses RapidApp's features like automatic Ajax interfaces, CRUD interfaces generated from schemas, and RESTful URL schemes. The presenter then demonstrates RapidApp by developing a web admin interface for a DNS server application.

Embed presentation

Download to read offline
Henry Van Styn <vanstyn@cpan.org> YAPC::NA 2014 Tuesday, 24 June - 11:00AM www.rapidapp.info irc.perl.org - #rapidapp
Agenda • What is RapidApp - overview & rationale • How it works - basic architecture & APIs • Live Demos & Examples... • Questions feedback from audience & IRC: join #rapidapp on irc.perl.org
RapidApp is... • An extension to the Catalyst stack • Aims to speed development with easy access to common interface paradigms • Preserves native APIs and environments • Flexible, uber-modular design • Multiple declarative configuration layers • Wide-range of application personalities...
Features... • Automatic, model-driven Ajax interfaces (ExtJS) • Maps DBIx::Class methods to web front-ends (CRUD+) • RESTful URL navigation schemes • Powerful built-in templating and CMS • Automatic asset management (css, js, icons, etc) • (and other gooey-goodness)
Why another web framework?
Interfaces.
implicit interfaces ...the CRUD-based interfaces which are already implied by the schema * all you should have to do to ask for them (declarative) *
"Give me an interface to add rows to Foo" • Should auto-generate a robust, fully working form • with fields for each of Foo’s columns • according to each column type... • datetime? - date selector • varchar? - text box • etc. • Column non-nullable? - required field • Foreign key? - selection dialog for the remote source (e.g. dropdown) • and so on
"Give me an interface to add rows to Foo" ...and, don’t be stupid: • yes - handle client-side validation • yes - scroll long content in a manner that is not moronic • yes - display exceptions to the client • etc. • no - do not truncate column names... • no - do not drown the children in the tub... (or any other horrible thing I haven’t thought of but obviously don’t want) Be on-demand - automatically change with the schema... • column dropped? - field ceases to exist • made nullable? - field no longer required And obviously... • Handle all the plumbing to tie cleanly into the backend • Just work.
"Give me an interface to add rows to Foo" And one more thing: Do predict & provide high-level choices & options... ...and allow me to customize, extend & build upon the base... ...but don’t limit me. Do not hinder me in any way from doing things differently.
All I’m really sayin’ ... give me everything for free with no trade-offs Is that really so much to ask??
We already take powerful, declarative APIs for granted in our perl-side code. (how I learned I wanted them)
Perl has spoiled me ...and showed what great APIs can & should do
Catalyst Moose DBIx::Class Devel::NYTProf IO::All Type::Tiny Moo Try::Tiny DateTime Dist::Zilla Plack Path::Class Web::Simple Authen::Passphrase Test::More Template::Toolkit DBI Dancer
makes programming feel like ...
Until... ...it was time to write the front-side code
Y U NO USE MY CSS CLASS?!
But, to be fair ... proficiency bias... and it usually wasn’t the fault of CSS, Firefox ... (it was IE’s fault)
I don’t want to know CSS. I want to write models and business logic. (and still feel entitled to robust web interfaces)
Controller ViewModel Application Architecture: Standard MVC ("Components" in Catalyst)
DBIC Controller ViewModel Application Architecture: Standard MVC ("Components" in Catalyst)
DBIC Controller ViewModel Module Application Architecture: RapidApp adds "Modules" to the mix Standard MVC ("Components" in Catalyst)
DBIC Controller ViewModel Module Application Architecture: RapidApp adds "Modules" to the mix Encapsulate interface(s) w/ plumbing
ViewModel Controller Root Module DBIC Controller ViewModel Module Application Architecture: Controller(s) View(s)Model(s) RapidApp adds "Modules" to the mix Encapsulate interface(s) w/ plumbing Components live adjacent to each other
ViewModel Controller Root Module DBIC Controller ViewModel Module Application Architecture: Controller(s) View(s)Model(s) Components live adjacent to each other Modules live in a hierarchy
ViewModel Controller Root Module DBIC Controller(s) View(s)Model(s) Module Module Module ModuleModule ... Application Architecture: Components live adjacent to each other Modules live in a hierarchy
ViewModel Controller DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule ... Application Architecture: Only one "Root" Module ...which is a Controller
ViewModel Controller DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule Catalyst::Plugin::RapidApp ... Application Architecture: RapidApp extends Catalyst via the standard plugin API
Excitement for learning another DSL...
ViewModel Controller DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule Catalyst::Plugin::RapidApp ... Application Architecture: automatically injects and configures modules and components...
ViewModel Controller DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule Catalyst::Plugin::RapidApp Plugin Plugin Plugin ... Application Architecture: automatically injects and configures modules and components...
ViewModel Controller DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule Catalyst::Plugin::RapidApp Plugin Plugin Plugin ... Application Architecture: loads and configures other plugins...
ViewModel Controller DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule Catalyst::Plugin::RapidApp Plugin Plugin Plugin Plugin ... Application Architecture: loads and configures other plugins...
DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule Catalyst::Plugin::RapidApp Plugin Plugin Plugin Plugin Plugin ... ... More Declarative Application Architecture: + More Specialized
DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule Catalyst::Plugin::RapidApp Plugin Plugin Plugin Plugin Plugin ... ... More Declarative Application Architecture: + More Specialized
Plugin Application Architecture: DBIC Controller(s) View(s)Model(s) Root Module Module Module ModuleModule Catalyst::Plugin::RapidApp Plugin Plugin Plugin Plugin ... Controller Module
Ok... so, show us some code!
Example - MyDNS • Lightweight authoritative DNS server • C daemon serves records directly from MySQL • Very simple schema (only 2 tables) • Generally recognizable data (for those familiar with DNS)
Our task: • Create a web-based admin app to manage MyDNS
MyDNS Schema
MyDNS Schema
(demo)
Demo checklist (RA::MyDNS) - 1 cpanm RapidApp Explain + bootstrap with rapidapp.pl Run app (1): Explain navtree + tab panel Show that URLs are all RESTful Show grids Paging, sorting, items p/pg, query time Columns, show/hide, reorder, auto-size Row page (double-click) Filters Quick Search Relationship columns CSV export Configure app (1): Show main app class, model & generated schema classes Explain grid_params & TableSpecs enable editing Run app (2): Edit in grid, page & edit form Delete: single, multiple Batch Modify Add rr w/ existing, then new soa Configure app (2): Set display_column (Soa/origin) Run app (3): Reload tab Show zone rel w/ edit Demo checklist (RA::MyDNS) - 2
Demo checklist (RA::MyDNS) - 3 Configure app (3): Create ‘Type’ ResultSource::View Run app (4): Show new Type grid With its rrs relationship Configure app (4): Add AuthCore plugin Run app (5): Login and out and in... Show login via direct URL Configure app (5): Add CoreSchemaAdmin plugin Run app (6): Change a password Show Sessions grid Configure app (7): Add NavCore plugin Run app (8): Create a saved view Organize Navtree Set a default source view Demo checklist (RA::MyDNS) - 4
Demo BlueBox checklist Explain AngleHack + BlueBox git clone BlueBox repo Run app: Show public demo (newman) Login and show admin section Show editing template pages nested templates *.md templates Show order_list page view page source explain iframe Configure app: Show code Explain main class cnf opts Explain Template Access class Explain Chinook Demo (already on site) git clone RA-ChinookDemo repo checkout complex_rels branch Show HEAD commit in github Run app: Show Album single-rels Show Artist single-rel (self_titled_album) Show MediaType multi-rel (rock_tracks) Demo RA-ChinookDemo checklist
Questions? Henry Van Styn <vanstyn@cpan.org> www.rapidapp.info irc.perl.org - #rapidapp

More Related Content

Rapi::Blog talk - TPC 2017
PPTX
Rapi::Blog talk - TPC 2017
[2015/2016] JavaScript
PDF
[2015/2016] JavaScript
[2015/2016] Backbone JS
PDF
[2015/2016] Backbone JS
Learn about Eclipse e4 from Lars Vogel at SF-JUG
PDF
Learn about Eclipse e4 from Lars Vogel at SF-JUG
HTML5: the new frontier of the web
PDF
HTML5: the new frontier of the web
SPTechCon - Share point and jquery essentials
PPTX
SPTechCon - Share point and jquery essentials
WebNet Conference 2012 - Designing complex applications using html5 and knock...
PDF
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Web Components v1
PDF
Web Components v1
Rapi::Blog talk - TPC 2017
Rapi::Blog talk - TPC 2017
[2015/2016] JavaScript
[2015/2016] JavaScript
[2015/2016] Backbone JS
[2015/2016] Backbone JS
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUG
HTML5: the new frontier of the web
HTML5: the new frontier of the web
SPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentials
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Web Components v1
Web Components v1

What's hot

Codemotion 2013 - Designing complex applications using html5 and knockoutjs
PPTX
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Modern development paradigms
PDF
Modern development paradigms
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
PPTX
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
Great Responsive-ability Web Design
PDF
Great Responsive-ability Web Design
Getting Started with Rails
PDF
Getting Started with Rails
HTML5 & CSS3 refresher for mobile apps
PDF
HTML5 & CSS3 refresher for mobile apps
SPSDenver - SharePoint & jQuery - What I wish I would have known
PPTX
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPTechCon 2014 How to develop and debug client side code in SharePoint
PPTX
SPTechCon 2014 How to develop and debug client side code in SharePoint
SharePoint Saturday St. Louis - SharePoint & jQuery
PPTX
SharePoint Saturday St. Louis - SharePoint & jQuery
Angular or Backbone: Go Mobile!
PDF
Angular or Backbone: Go Mobile!
tTecniche di sviluppo mobile per share point 2013 e office 365
PDF
tTecniche di sviluppo mobile per share point 2013 e office 365
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
PDF
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
JSLink for ITPros - SharePoint Saturday Jersey
PPTX
JSLink for ITPros - SharePoint Saturday Jersey
Twig
PDF
Building a spa_in_30min
PDF
Building a spa_in_30min
Bringing HTML5 alive in SharePoint
PPTX
Bringing HTML5 alive in SharePoint
SPTechCon DevDays - SharePoint & jQuery
PPTX
SPTechCon DevDays - SharePoint & jQuery
Efficient Rails Test-Driven Development - Week 6
PDF
Efficient Rails Test-Driven Development - Week 6
Vibe Custom Development
PDF
Vibe Custom Development
Ruby on Rails: Building Web Applications Is Fun Again!
PPT
Ruby on Rails: Building Web Applications Is Fun Again!
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Modern development paradigms
Modern development paradigms
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
Great Responsive-ability Web Design
Great Responsive-ability Web Design
Getting Started with Rails
Getting Started with Rails
HTML5 & CSS3 refresher for mobile apps
HTML5 & CSS3 refresher for mobile apps
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePoint
SharePoint Saturday St. Louis - SharePoint & jQuery
SharePoint Saturday St. Louis - SharePoint & jQuery
Angular or Backbone: Go Mobile!
Angular or Backbone: Go Mobile!
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday Jersey
Twig
Building a spa_in_30min
Building a spa_in_30min
Bringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePoint
SPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuery
Efficient Rails Test-Driven Development - Week 6
Efficient Rails Test-Driven Development - Week 6
Vibe Custom Development
Vibe Custom Development
Ruby on Rails: Building Web Applications Is Fun Again!
Ruby on Rails: Building Web Applications Is Fun Again!

Similar to RapidApp - YAPC::NA 2014

The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
PPTX
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
BPM and SOA Are Going Mobile: An Architectural Perspective
PDF
BPM and SOA Are Going Mobile: An Architectural Perspective
A great api is hard to find
PPTX
A great api is hard to find
RESTful Approaches to Financial Systems Integration
PDF
RESTful Approaches to Financial Systems Integration
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
PDF
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Perl Tools for Productivity
PDF
Perl Tools for Productivity
Digging deeper into service stack
PPTX
Digging deeper into service stack
Designing your API Server for mobile apps
PDF
Designing your API Server for mobile apps
Mtn view sql server nov 2014
PPTX
Mtn view sql server nov 2014
Building Large Scale PHP Web Applications with Laravel 4
PPTX
Building Large Scale PHP Web Applications with Laravel 4
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
PDF
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
The Web Scale
PDF
The Web Scale
Software Architecture
PDF
Software Architecture
RESTful Data Services with the ADO.NET Data Services Framework
PPTX
RESTful Data Services with the ADO.NET Data Services Framework
Advanced Web Development
PPT
Advanced Web Development
RavenDB overview
PPTX
RavenDB overview
Recipes for API Ninjas
PDF
Recipes for API Ninjas
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
PDF
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
PPTX
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Rails, ExtJs, and Netzke
PDF
Rails, ExtJs, and Netzke
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
BPM and SOA Are Going Mobile: An Architectural Perspective
BPM and SOA Are Going Mobile: An Architectural Perspective
A great api is hard to find
A great api is hard to find
RESTful Approaches to Financial Systems Integration
RESTful Approaches to Financial Systems Integration
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Perl Tools for Productivity
Perl Tools for Productivity
Digging deeper into service stack
Digging deeper into service stack
Designing your API Server for mobile apps
Designing your API Server for mobile apps
Mtn view sql server nov 2014
Mtn view sql server nov 2014
Building Large Scale PHP Web Applications with Laravel 4
Building Large Scale PHP Web Applications with Laravel 4
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
The Web Scale
The Web Scale
Software Architecture
Software Architecture
RESTful Data Services with the ADO.NET Data Services Framework
RESTful Data Services with the ADO.NET Data Services Framework
Advanced Web Development
Advanced Web Development
RavenDB overview
RavenDB overview
Recipes for API Ninjas
Recipes for API Ninjas
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Rails, ExtJs, and Netzke
Rails, ExtJs, and Netzke

Recently uploaded

Streamline Your Production Process with ERP Solutions
PPTX
Streamline Your Production Process with ERP Solutions
School-Hall-Pass-System-Modernizing-Student-Movement-Management.pdf
PDF
School-Hall-Pass-System-Modernizing-Student-Movement-Management.pdf
How an AI Chatbot for Mental Health Is Redefining Patient Care and Emotional ...
PPTX
How an AI Chatbot for Mental Health Is Redefining Patient Care and Emotional ...
EMR software | Best EMR software | EasyClinic
PPTX
EMR software | Best EMR software | EasyClinic
Build Vs. Buy: Cloud Cost Management and FinOps
PDF
Build Vs. Buy: Cloud Cost Management and FinOps
How to do Portable Applicance Testing: example
PDF
How to do Portable Applicance Testing: example
Mobile App Accessibility Standards Every Developer Should Know.pptx
PPTX
Mobile App Accessibility Standards Every Developer Should Know.pptx
Data Governance and Compliance Choosing a Tableau Replacement with Strong Con...
DOCX
Data Governance and Compliance Choosing a Tableau Replacement with Strong Con...
Patterns of Patterns and why we need them
PDF
Patterns of Patterns and why we need them
"SiyanoAV: Preventing Data Breaches in 2025"
PDF
"SiyanoAV: Preventing Data Breaches in 2025"
WhaleSwap Token – Smart Contract Security Audit Report by EtherAuthority
PDF
WhaleSwap Token – Smart Contract Security Audit Report by EtherAuthority
A new Vision of Software Sustainability and its Engineering: Reflections and ...
PDF
A new Vision of Software Sustainability and its Engineering: Reflections and ...
AI EMR Software Making Healthcare Smarter, Simpler, and More Human
PPTX
AI EMR Software Making Healthcare Smarter, Simpler, and More Human
AOX Apps - Mobile App Development Company New York
PDF
AOX Apps - Mobile App Development Company New York
NFTMeme Token – Smart Contract Security Audit Report by EtherAuthority
PDF
NFTMeme Token – Smart Contract Security Audit Report by EtherAuthority
From Chatbot to AI Agent: A Practical Comparison
PDF
From Chatbot to AI Agent: A Practical Comparison
Building production-ready AI Agents with Spring AI and Amazon Bedrock AgentCo...
PDF
Building production-ready AI Agents with Spring AI and Amazon Bedrock AgentCo...
The future of software delivery is agentic
PDF
The future of software delivery is agentic
SiyanoAV: The Best Antivirus Software for Complete Digital Protection
PDF
SiyanoAV: The Best Antivirus Software for Complete Digital Protection
Top 10 Ways AI Can Improve SEO Strategies in 2025.pdf
PDF
Top 10 Ways AI Can Improve SEO Strategies in 2025.pdf
Streamline Your Production Process with ERP Solutions
Streamline Your Production Process with ERP Solutions
School-Hall-Pass-System-Modernizing-Student-Movement-Management.pdf
School-Hall-Pass-System-Modernizing-Student-Movement-Management.pdf
How an AI Chatbot for Mental Health Is Redefining Patient Care and Emotional ...
How an AI Chatbot for Mental Health Is Redefining Patient Care and Emotional ...
EMR software | Best EMR software | EasyClinic
EMR software | Best EMR software | EasyClinic
Build Vs. Buy: Cloud Cost Management and FinOps
Build Vs. Buy: Cloud Cost Management and FinOps
How to do Portable Applicance Testing: example
How to do Portable Applicance Testing: example
Mobile App Accessibility Standards Every Developer Should Know.pptx
Mobile App Accessibility Standards Every Developer Should Know.pptx
Data Governance and Compliance Choosing a Tableau Replacement with Strong Con...
Data Governance and Compliance Choosing a Tableau Replacement with Strong Con...
Patterns of Patterns and why we need them
Patterns of Patterns and why we need them
"SiyanoAV: Preventing Data Breaches in 2025"
"SiyanoAV: Preventing Data Breaches in 2025"
WhaleSwap Token – Smart Contract Security Audit Report by EtherAuthority
WhaleSwap Token – Smart Contract Security Audit Report by EtherAuthority
A new Vision of Software Sustainability and its Engineering: Reflections and ...
A new Vision of Software Sustainability and its Engineering: Reflections and ...
AI EMR Software Making Healthcare Smarter, Simpler, and More Human
AI EMR Software Making Healthcare Smarter, Simpler, and More Human
AOX Apps - Mobile App Development Company New York
AOX Apps - Mobile App Development Company New York
NFTMeme Token – Smart Contract Security Audit Report by EtherAuthority
NFTMeme Token – Smart Contract Security Audit Report by EtherAuthority
From Chatbot to AI Agent: A Practical Comparison
From Chatbot to AI Agent: A Practical Comparison
Building production-ready AI Agents with Spring AI and Amazon Bedrock AgentCo...
Building production-ready AI Agents with Spring AI and Amazon Bedrock AgentCo...
The future of software delivery is agentic
The future of software delivery is agentic
SiyanoAV: The Best Antivirus Software for Complete Digital Protection
SiyanoAV: The Best Antivirus Software for Complete Digital Protection
Top 10 Ways AI Can Improve SEO Strategies in 2025.pdf
Top 10 Ways AI Can Improve SEO Strategies in 2025.pdf

RapidApp - YAPC::NA 2014

Editor's Notes

  • #2 Going to talk about the open-source, RapidApp web framework Which has been an in-house platform that we’ve been developing internally for 5 years. Just started open-sourcing within the past year. which is an extension to Catalyst that focuses on building database-driven apps faster than ever.
  • #3 Once we get to the demos will go "off-script" and will dive into features and code partially based on audience feedback This slideshow will be uploaded to slideshare with link on yapcna.org after the end of the talk. There will also be links to all the code we’ll cover (including code we’ll write live during the talk) want to get to the demos & actual code quickly, ... but first we need some context to set the stage
  • #5 It does... DBIC: this is one of the primary, original core features,... and we’ll be exploring it quite a bit in this talk... ...but is still just a piece of a larger puzzle RapidApp also does...
  • #6 What problems does RapidApp solve?
  • #7 Still require entirely too much effort Not so much about custom specialty interfaces & designs - the highly visible ones you/designer want and plan to write ... there are plenty of existing designer tools custom is custom... All the other, general interfaces... That you need but don’t want to write... And the interfaces that you just do without because you don’t have time to write them
  • #8 Just the idea that the basic rules and info needed for interfaces are already defined in the table schema... should be able to have access to them without a lot of effort Here is one, specific example: (NEXT) ->
  • #9 Where Foo is an existing model object, like a DBIC source
  • #10 Database won’t let you insert a string into an integer column ... ... so the form shouldn’t either Stay tied to schema...
  • #11 just as important as what a framework gives is what it takes away Don’t presume to know all the use-cases in advance
  • #13 Particularly in the tools coming out of the modern Perl movement, like Moose
  • #15 it feels great to program when you have awesome tools and libraries at your disposal it’s why i love Perl
  • #17 it’s how good APIs should make you feel ...how Perl usually makes me feel
  • #19 Its like going from casting lightning bolts from your fingertips like a jedi master... ... to scrubbing the bathroom floor with a toothbrush
  • #20 and CSS and I get along a lot better these days... CSS and JavaScript are robust, well-designed & impressive But that’s not the point...
  • #21 NEXT: Let’s see how RapidApp is built to accomplish this
  • #22 RapidApp is still Catalyst, so we still have the same Models, Views and Controllers...
  • #23 ...with DBIC-based database backends connected through the Model API... Also standard
  • #25 Think of as specialized "Fat controller" Contains within it its own MVC-type structures
  • #30 Uses standard plugin API... Loading Plugin::RapidApp is what makes a Catalyst application become a RapidApp application... NEXT: Excitement for learning another DSL...
  • #45 These are the general items I plan to cover in the RA::MyDNS live demo...
  • #46 These are the general items I plan to cover in the RA::MyDNS live demo...
  • #47 These are the general items I plan to cover in the BlueBox live demo...

AltStyle によって変換されたページ (->オリジナル) /