SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
Jio Customer Interfaces Technology & Frameworks
1
Compiled By: Praphul Sinha
Index
1. Horizon:DashboardFramework page 2
2. Recap on Juno: page 3
3. Going ahead with Horizon Kilo: WHY? Page 3
4. Keyvaluesatthecoreof itsarchitecture: SuitableforOpenStackDashboard page 5
5. Django Stack page 7
6. Horizon Stack page 7
Jio Customer Interfaces Technology & Frameworks
2
Horizon: Dashboard Framework
OpenStack Horizon is a powerful web-framework built on Django that is easily
extended. We can see how easy it is to create our own Horizon dashboard and
interface with services outside of OpenStack through RESTful APIs.
Horizon is a glimpse into the future of infrastructure single-pane-of-glass
management.
This has been something we have been promised for years from the proprietary
vendors and only now with OpenStack Horizon do we have some real hope.
Overview
• Django-based application that provides access to OpenStack services
• Typically deployed as an Apache WSGI application
• Leverages well known existing technologies
– Bootstrap, jQuery, Underscore.js, AngularJS, D3.js, Rickshaw, LESS CSS
• Extends Django stack to enhance application extensibility
Horizon is an OpenStack project responsible for providing a dashboard. It brings together all
OpenStack projects in a single-pane-of-glass. The below diagram illustrates the connectivity
between the Horizon dashboard and other OpenStack services.
image-1
By building custom dashboards it is possible to seamlessly integrate external components or
services with OpenStack.
Horizon to allow tighter coupling of OpenStack and enterprise infrastructure
Before diving into the upcoming features and updates for the Kilo release, lets have a quick
recap on Juno, covering the key updates.
Jio Customer Interfaces Technology & Frameworks
3
Recap Till Juno:
 Support for Sahara: this allows you to create clusters, create jobs to run on those
clusters, and other data processing.
 Better plug-in support: the team fleshed out primitive plug-in support from
Icehouse. It now allows you to pull in static files, javascript, images, etc. and helps
operators move away from the model in which they have to hack the code in order
to extend it.
 UX updates: the team was previously locked into some older versions of technology
for styling in JavaScript. This was updated in Juno and resulted in lots of styling and
UX improvements.
 Metadata: the team is providing further enhancements.
Going ahead with Horizon Kilo: WHY?
AngularJS
One of the main areas of focus for Horizon has been around better user experience. Horizon
has been moving towards AngularJS as a client-side architecture in order to provide better,
faster feedback to users, decrease the amount of data loading on each request, and push
more of the UI onto the client side.
For the Kilo release, the team is working on a reference implementation to dictate how
AngularJS will be implemented in Horizon.
AngularJS in Horizon:
image-2
Jio Customer Interfaces Technology & Frameworks
4
Support for Ironic
Horizon will support Ironic in the Kilo release cycle for both end users and operators. End
users will be able to set up a bare metal instance and operators can specify new nodes and
bring them in and allocate them.
Improved Table Experience
Currently, filtering and pagination within Horizon are inconsistent. For Kilo, the table
experience will be improved by much of it to the client side, caching more data on the client
and providing pagination and filtering in the Horizon code instead of relying on the APIs to
do it.
Wizard
There is a wizard in Horizon currently, but it's primitive and it has remained largely stagnant
through Havana and Icehouse. OpenStack team plans to refocus on that in this release
because it's one of the biggest usability issues Horizon faces -- the launch instance workflow
is confusing and requires a lot of upfront knowledge.
The Horizon team has been working with the OpenStack UX team to design a better
workflow that will be implemented on the client side. The team will use the network wizard
as well to make sure they have an extensible format and an extensible widget.
Refine plugin support
It’s important that Horizon has a clean plug-in mechanism that doesn’t involve editing
horizon source code.
Right now it requires a user to add files into the directory where Horizon gets deployed; this
isn't optimal because it causes problems when a user wants to update a package. The Kilo
version of Horizon will have refined plug-in support that allows users to point to where the
plug-in mechanism is and provide better Angular support.
Better theming
One concern that operators have is that they don't want to ship Horizon with the same UI as
everyone else, especially if they’re putting it in front of customers. OpenStack team’s said
that there's a need to be able to theme it better without having to hack the code.
The team plans to continue development and provide an improved theming mechanism
that's easy to work with.
Federation and SSO (Single Sign On)
Many corporations that use OpenStack already have an authentication backend where users
are set up. They don't want to have to duplicate their work by pulling all of that into
Keystone. For Kilo, the team is working on providing a mechanism for a federated login and
single sign on. Therefore, if you’re authenticated into your corporate auth system, when you
come to Horizon, you won't have to do it again.
The Horizon team is working with the Keystone team to provide federated authentication.
Jio Customer Interfaces Technology & Frameworks
5
Gating with integration test suite
The Horizon team has been pushing on this for several release cycles. Horizon has one
integration test that runs in Tempest, but they've been working on getting a full integration
test suite set up. Operators should be able to run all of the gating jobs by the end of Kilo.
Architectural Layers in Horizon Kilo:
image-3
Key values at the core of its architecture: Suitable for OpenStack Dashboard
 Core Support: [IMP] Out-of-the-box support for all core OpenStack projects.
Horizon ships with three central dashboards, a “User Dashboard”, a “System
Dashboard”, and a “Settings” dashboard.
The Horizon application also comes with a set of API abstractions for the core
OpenStack projects in order to provide a consistent, stable set of reusable
methods for developers.
 Extensible: Anyone can add a new component as a “first-class citizen”.
A Horizon dashboard application is based around the Dashboard class that
provides a consistent API and set of capabilities for both core OpenStack
dashboard apps shipped with Horizon and equally for third-party apps. The
Dashboard class is treated as a top-level navigation item. All you have to do is
import the dashboard you wish to modify.
 Manageable: The core codebase should be simple and easy-to-navigate.
Within the application, there is a simple method for registering a Panel (sub-
navigation items). Each panel contains the necessary logic (views, forms,
tests, etc.) for that interface. This granular breakdown prevents files (such as
Jio Customer Interfaces Technology & Frameworks
6
api.py) from becoming thousands of lines long and makes code easy to find
by correlating it directly to the navigation.
 Consistent: Visual and interaction paradigms are maintained throughout.
By providing the necessary core classes to build from, as well as a solid set of
reusable templates and additional tools (base form classes, base widget
classes, template tags, and perhaps even class-based views) we can maintain
consistency across applications.
 Stable: [IMP] Reliable API with an emphasis on backwards-compatibility.
By architecting around these core classes and reusable components we
create an implicit contract that changes to these components will be made in
the most backwards-compatible ways whenever possible
 Usable: Providing an awesome interface that people want to use.
Ultimately that’s up to each and every developer that touches the code, but if
we get all the other goals out of the way then we are free to focus on the
best possible experience.
Jio Customer Interfaces Technology & Frameworks
7
Django Stack
image-4
Horizon Stack
image-5

Weitere ähnliche Inhalte

Was ist angesagt?

Pro Syst Enterprise OSGi
Pro Syst Enterprise OSGiPro Syst Enterprise OSGi
Pro Syst Enterprise OSGi
Roman Roelofsen
 
Oracle E2.0 WebCenter Portal Strategy
Oracle E2.0 WebCenter Portal StrategyOracle E2.0 WebCenter Portal Strategy
Oracle E2.0 WebCenter Portal Strategy
Fumiko Yamashita
 
Inthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePointInthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePoint
Inthiyaz Pathan
 

Was ist angesagt? (20)

DS, BP, EJB, CDI, WTF!? - Graham Charters
DS, BP, EJB, CDI, WTF!? - Graham ChartersDS, BP, EJB, CDI, WTF!? - Graham Charters
DS, BP, EJB, CDI, WTF!? - Graham Charters
 
Accelerating the Consumption of APIs Built on Cloud Foundry
Accelerating the Consumption of APIs Built on Cloud FoundryAccelerating the Consumption of APIs Built on Cloud Foundry
Accelerating the Consumption of APIs Built on Cloud Foundry
 
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
 
Fn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal ArifFn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal Arif
 
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevGeneral Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajev
 
Visual Studio 2017 Release Notes
Visual Studio 2017 Release NotesVisual Studio 2017 Release Notes
Visual Studio 2017 Release Notes
 
Pivotal spring boot-cloud workshop
Pivotal   spring boot-cloud workshopPivotal   spring boot-cloud workshop
Pivotal spring boot-cloud workshop
 
Pro Syst Enterprise OSGi
Pro Syst Enterprise OSGiPro Syst Enterprise OSGi
Pro Syst Enterprise OSGi
 
Oracle E2.0 WebCenter Portal Strategy
Oracle E2.0 WebCenter Portal StrategyOracle E2.0 WebCenter Portal Strategy
Oracle E2.0 WebCenter Portal Strategy
 
ProSyst OSGi for Telematics - Short Introduction
ProSyst OSGi for Telematics - Short IntroductionProSyst OSGi for Telematics - Short Introduction
ProSyst OSGi for Telematics - Short Introduction
 
Manchester geek night pcf 101
Manchester geek night   pcf 101Manchester geek night   pcf 101
Manchester geek night pcf 101
 
Oracle Enterprise integration
Oracle Enterprise integration Oracle Enterprise integration
Oracle Enterprise integration
 
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
 
Creating personalized cross platform mobile apps with the Sitecore Mobile SDK
Creating personalized cross platform mobile apps with the Sitecore Mobile SDKCreating personalized cross platform mobile apps with the Sitecore Mobile SDK
Creating personalized cross platform mobile apps with the Sitecore Mobile SDK
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptx
 
Libra - New Tools at Eclipse for OSGi Enterprise Development
 Libra - New Tools at Eclipse for OSGi Enterprise Development  Libra - New Tools at Eclipse for OSGi Enterprise Development
Libra - New Tools at Eclipse for OSGi Enterprise Development
 
2014 Liferay Roadshow Ambientia Finland
2014  Liferay Roadshow Ambientia Finland2014  Liferay Roadshow Ambientia Finland
2014 Liferay Roadshow Ambientia Finland
 
Platform as Art: A Developer’s Perspective
Platform as Art: A Developer’s PerspectivePlatform as Art: A Developer’s Perspective
Platform as Art: A Developer’s Perspective
 
JahiaOne 2015 - Building high-performance user experiences with Digital Factory
JahiaOne 2015 - Building high-performance user experiences with Digital FactoryJahiaOne 2015 - Building high-performance user experiences with Digital Factory
JahiaOne 2015 - Building high-performance user experiences with Digital Factory
 
Inthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePointInthiyaz-4.6Years-SharePoint
Inthiyaz-4.6Years-SharePoint
 

Andere mochten auch

Andere mochten auch (17)

413 koper korjaus
413 koper korjaus413 koper korjaus
413 koper korjaus
 
Mi primera clase 2011
Mi primera clase 2011Mi primera clase 2011
Mi primera clase 2011
 
La bibliotecologia en colombia
La bibliotecologia en colombiaLa bibliotecologia en colombia
La bibliotecologia en colombia
 
Quando julgamos
Quando julgamosQuando julgamos
Quando julgamos
 
E pau, e pedra
E pau, e pedraE pau, e pedra
E pau, e pedra
 
Pessoas perseguidas
Pessoas perseguidasPessoas perseguidas
Pessoas perseguidas
 
02 visión misión-valores 2016
02 visión misión-valores 201602 visión misión-valores 2016
02 visión misión-valores 2016
 
10 sugestoes
10 sugestoes10 sugestoes
10 sugestoes
 
Um coracao de crianca
Um coracao de criancaUm coracao de crianca
Um coracao de crianca
 
A mariposa e a estrela
A mariposa e a estrelaA mariposa e a estrela
A mariposa e a estrela
 
Jamal Uddin Hasan CV
Jamal Uddin Hasan CVJamal Uddin Hasan CV
Jamal Uddin Hasan CV
 
01 presentación y la gerencia estrategia 2016
01 presentación y la gerencia estrategia 201601 presentación y la gerencia estrategia 2016
01 presentación y la gerencia estrategia 2016
 
Blogs
BlogsBlogs
Blogs
 
Ser crianca
Ser criancaSer crianca
Ser crianca
 
Lição 4 - A Provisão de Deus no Monte do Sacrifício
Lição 4 - A Provisão de Deus no Monte do SacrifícioLição 4 - A Provisão de Deus no Monte do Sacrifício
Lição 4 - A Provisão de Deus no Monte do Sacrifício
 
Lição 7 - José Fé em Meio às Injustiças
Lição 7 - José Fé em Meio às InjustiçasLição 7 - José Fé em Meio às Injustiças
Lição 7 - José Fé em Meio às Injustiças
 
Ta 101
Ta 101Ta 101
Ta 101
 

Ähnlich wie OpenStack_Horizon_Why

Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
Neha Singh
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
Divya Watson
 
Cloud development goes lightweight - Ken Walker
Cloud development goes lightweight - Ken WalkerCloud development goes lightweight - Ken Walker
Cloud development goes lightweight - Ken Walker
jaxconf
 
E2.0 User Forum
E2.0 User ForumE2.0 User Forum
E2.0 User Forum
95wolf
 

Ähnlich wie OpenStack_Horizon_Why (20)

Angular 12 brought several new features to the table
Angular 12 brought several new features to the tableAngular 12 brought several new features to the table
Angular 12 brought several new features to the table
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
 
Mastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder singh visualcv_resume
Mastinder singh visualcv_resume
 
Geethu Rajasekharan
Geethu RajasekharanGeethu Rajasekharan
Geethu Rajasekharan
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
 
Tech Stack - Angular
Tech Stack - AngularTech Stack - Angular
Tech Stack - Angular
 
Resume _ios
Resume _iosResume _ios
Resume _ios
 
Top Reasons to use the Angular Framework for developing Applications!
Top Reasons to use the Angular Framework for developing Applications!Top Reasons to use the Angular Framework for developing Applications!
Top Reasons to use the Angular Framework for developing Applications!
 
All the amazing features of asp.net core
All the amazing features of asp.net coreAll the amazing features of asp.net core
All the amazing features of asp.net core
 
Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10
 
Business model driven cloud adoption - what NI is doing in the cloud
Business model driven cloud adoption -  what  NI is doing in the cloudBusiness model driven cloud adoption -  what  NI is doing in the cloud
Business model driven cloud adoption - what NI is doing in the cloud
 
Industry-Standard Web Development Techniques for Angular
Industry-Standard Web Development Techniques for AngularIndustry-Standard Web Development Techniques for Angular
Industry-Standard Web Development Techniques for Angular
 
Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018
 
Cloud development goes lightweight - Ken Walker
Cloud development goes lightweight - Ken WalkerCloud development goes lightweight - Ken Walker
Cloud development goes lightweight - Ken Walker
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
ECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM SolutionsECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM Solutions
 
E2.0 User Forum
E2.0 User ForumE2.0 User Forum
E2.0 User Forum
 
The Power of Angular: 10 Reasons Why Web Developers Should Embrace It in 2024
The Power of Angular: 10 Reasons Why Web Developers Should Embrace It in 2024The Power of Angular: 10 Reasons Why Web Developers Should Embrace It in 2024
The Power of Angular: 10 Reasons Why Web Developers Should Embrace It in 2024
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 

OpenStack_Horizon_Why

  • 1. Jio Customer Interfaces Technology & Frameworks 1 Compiled By: Praphul Sinha Index 1. Horizon:DashboardFramework page 2 2. Recap on Juno: page 3 3. Going ahead with Horizon Kilo: WHY? Page 3 4. Keyvaluesatthecoreof itsarchitecture: SuitableforOpenStackDashboard page 5 5. Django Stack page 7 6. Horizon Stack page 7
  • 2. Jio Customer Interfaces Technology & Frameworks 2 Horizon: Dashboard Framework OpenStack Horizon is a powerful web-framework built on Django that is easily extended. We can see how easy it is to create our own Horizon dashboard and interface with services outside of OpenStack through RESTful APIs. Horizon is a glimpse into the future of infrastructure single-pane-of-glass management. This has been something we have been promised for years from the proprietary vendors and only now with OpenStack Horizon do we have some real hope. Overview • Django-based application that provides access to OpenStack services • Typically deployed as an Apache WSGI application • Leverages well known existing technologies – Bootstrap, jQuery, Underscore.js, AngularJS, D3.js, Rickshaw, LESS CSS • Extends Django stack to enhance application extensibility Horizon is an OpenStack project responsible for providing a dashboard. It brings together all OpenStack projects in a single-pane-of-glass. The below diagram illustrates the connectivity between the Horizon dashboard and other OpenStack services. image-1 By building custom dashboards it is possible to seamlessly integrate external components or services with OpenStack. Horizon to allow tighter coupling of OpenStack and enterprise infrastructure Before diving into the upcoming features and updates for the Kilo release, lets have a quick recap on Juno, covering the key updates.
  • 3. Jio Customer Interfaces Technology & Frameworks 3 Recap Till Juno:  Support for Sahara: this allows you to create clusters, create jobs to run on those clusters, and other data processing.  Better plug-in support: the team fleshed out primitive plug-in support from Icehouse. It now allows you to pull in static files, javascript, images, etc. and helps operators move away from the model in which they have to hack the code in order to extend it.  UX updates: the team was previously locked into some older versions of technology for styling in JavaScript. This was updated in Juno and resulted in lots of styling and UX improvements.  Metadata: the team is providing further enhancements. Going ahead with Horizon Kilo: WHY? AngularJS One of the main areas of focus for Horizon has been around better user experience. Horizon has been moving towards AngularJS as a client-side architecture in order to provide better, faster feedback to users, decrease the amount of data loading on each request, and push more of the UI onto the client side. For the Kilo release, the team is working on a reference implementation to dictate how AngularJS will be implemented in Horizon. AngularJS in Horizon: image-2
  • 4. Jio Customer Interfaces Technology & Frameworks 4 Support for Ironic Horizon will support Ironic in the Kilo release cycle for both end users and operators. End users will be able to set up a bare metal instance and operators can specify new nodes and bring them in and allocate them. Improved Table Experience Currently, filtering and pagination within Horizon are inconsistent. For Kilo, the table experience will be improved by much of it to the client side, caching more data on the client and providing pagination and filtering in the Horizon code instead of relying on the APIs to do it. Wizard There is a wizard in Horizon currently, but it's primitive and it has remained largely stagnant through Havana and Icehouse. OpenStack team plans to refocus on that in this release because it's one of the biggest usability issues Horizon faces -- the launch instance workflow is confusing and requires a lot of upfront knowledge. The Horizon team has been working with the OpenStack UX team to design a better workflow that will be implemented on the client side. The team will use the network wizard as well to make sure they have an extensible format and an extensible widget. Refine plugin support It’s important that Horizon has a clean plug-in mechanism that doesn’t involve editing horizon source code. Right now it requires a user to add files into the directory where Horizon gets deployed; this isn't optimal because it causes problems when a user wants to update a package. The Kilo version of Horizon will have refined plug-in support that allows users to point to where the plug-in mechanism is and provide better Angular support. Better theming One concern that operators have is that they don't want to ship Horizon with the same UI as everyone else, especially if they’re putting it in front of customers. OpenStack team’s said that there's a need to be able to theme it better without having to hack the code. The team plans to continue development and provide an improved theming mechanism that's easy to work with. Federation and SSO (Single Sign On) Many corporations that use OpenStack already have an authentication backend where users are set up. They don't want to have to duplicate their work by pulling all of that into Keystone. For Kilo, the team is working on providing a mechanism for a federated login and single sign on. Therefore, if you’re authenticated into your corporate auth system, when you come to Horizon, you won't have to do it again. The Horizon team is working with the Keystone team to provide federated authentication.
  • 5. Jio Customer Interfaces Technology & Frameworks 5 Gating with integration test suite The Horizon team has been pushing on this for several release cycles. Horizon has one integration test that runs in Tempest, but they've been working on getting a full integration test suite set up. Operators should be able to run all of the gating jobs by the end of Kilo. Architectural Layers in Horizon Kilo: image-3 Key values at the core of its architecture: Suitable for OpenStack Dashboard  Core Support: [IMP] Out-of-the-box support for all core OpenStack projects. Horizon ships with three central dashboards, a “User Dashboard”, a “System Dashboard”, and a “Settings” dashboard. The Horizon application also comes with a set of API abstractions for the core OpenStack projects in order to provide a consistent, stable set of reusable methods for developers.  Extensible: Anyone can add a new component as a “first-class citizen”. A Horizon dashboard application is based around the Dashboard class that provides a consistent API and set of capabilities for both core OpenStack dashboard apps shipped with Horizon and equally for third-party apps. The Dashboard class is treated as a top-level navigation item. All you have to do is import the dashboard you wish to modify.  Manageable: The core codebase should be simple and easy-to-navigate. Within the application, there is a simple method for registering a Panel (sub- navigation items). Each panel contains the necessary logic (views, forms, tests, etc.) for that interface. This granular breakdown prevents files (such as
  • 6. Jio Customer Interfaces Technology & Frameworks 6 api.py) from becoming thousands of lines long and makes code easy to find by correlating it directly to the navigation.  Consistent: Visual and interaction paradigms are maintained throughout. By providing the necessary core classes to build from, as well as a solid set of reusable templates and additional tools (base form classes, base widget classes, template tags, and perhaps even class-based views) we can maintain consistency across applications.  Stable: [IMP] Reliable API with an emphasis on backwards-compatibility. By architecting around these core classes and reusable components we create an implicit contract that changes to these components will be made in the most backwards-compatible ways whenever possible  Usable: Providing an awesome interface that people want to use. Ultimately that’s up to each and every developer that touches the code, but if we get all the other goals out of the way then we are free to focus on the best possible experience.
  • 7. Jio Customer Interfaces Technology & Frameworks 7 Django Stack image-4 Horizon Stack image-5