rapid application development using foss

24
Rapid Application Development using Free and Open Source Frameworks RAD Solutions Private Limited 220/226, Sekhar Enclave Lane 3, Biju Pattnaik College Road, Jayadev Vihar Bhubaneswar 751015  [email protected]

Upload: sanjay-patel

Post on 17-Jan-2015

4.131 views

Category:

Business


4 download

DESCRIPTION

Rapid Application Development using FOSS MVC frameworks

TRANSCRIPT

Page 1: Rapid Application Development using FOSS

Rapid Application Developmentusing

Free and Open Source Frameworks

RAD Solutions Private Limited220/226, Sekhar EnclaveLane 3, Biju Pattnaik College Road, Jayadev ViharBhubaneswar 751015 [email protected]

Page 2: Rapid Application Development using FOSS

Page 2

Freely redistributable

Why RAD

● Today's world is agile● Requirements and business rules change dynamically● New application requirements emerge everyday● Traditional software development methodologies and

tools are no more adequate● Rapid application development and maintenance is

needed!

Page 3: Rapid Application Development using FOSS

Page 3

Freely redistributable

Moving towards RAD

● Switching from statically typed languages like Java or .Net to dynamically typed languages like Python, Ruby

● Using cutting edge MVC frameworks● Using FOSS software development tools

Page 4: Rapid Application Development using FOSS

Page 4

Freely redistributable

Dynamically typed languages● 5-10 times more productive than Java or .NET● Features making it so productive

– Dynamically typed● Type checking is done at run-time● classes and functions are objects, can be created and

altered at runtime– No Compilation cycle– Concise– Powerful

Page 5: Rapid Application Development using FOSS

Page 5

Freely redistributable

Why we prefer Python over Ruby and others● Popular

– Availability of Libraries, tools and frameworks– There is a good deal of free and open source

software available in Python for all kind of activities

● Faster● Some features like internationalization is

better supported

Page 6: Rapid Application Development using FOSS

Page 6

Freely redistributable

A few references

● http://home.pacbell.net/ouster/scripting.html● http://www.ferg.org/projects/python_java_side-by-side.html● http://www.artima.com/weblogs/viewpost.jsp?thread=4639

Page 7: Rapid Application Development using FOSS

Page 7

Freely redistributable

Leading RAD Frameworks

● Turbogears● Pylons● RoR● Django● Zope

● You may be interested to read Why I chose TurboGears

Page 8: Rapid Application Development using FOSS

TurboGears

Page 9: Rapid Application Development using FOSS

Page 9

Freely redistributable

Turbogears

● Rapid web development mega framework● A pack of many best-of-the-breed free and

open source frameworks for developing complete web applications

● MVC pattern● database-driven, ready-to-extend application

can be developed in minutes

Page 10: Rapid Application Development using FOSS

Page 10

Freely redistributable

Sample application

● Let's develop a sample application in minutes!● Refer http://radisfun.com/Tutorials

Page 11: Rapid Application Development using FOSS

Page 11

Freely redistributable

Unique features of TurboGears● Full support for SQLAlchemy – the complete ORM● Collection of best-of-the-breed components● Numerous widgets available● Identity management● Form validation● Being used by many vital products like TinyERP

Page 12: Rapid Application Development using FOSS

Page 12

Freely redistributable

Components of Turbogears

● Database ORM: SQLAlchemy, SQLObject● Controller: CherryPy● Template engine: Genshi, Kid● Javascript/AJAX library: MochiKit● Automated testing: Nose● Others: Widgets, Identity Management,

FormEncode

Page 13: Rapid Application Development using FOSS

Page 13

Freely redistributable

SQLALchemy

● The king of ORMs in Python● Mapper pattern – no restriction in mapping to

complex databases● Can handle composite primary keys● Powerful enough for complicated tasks● Extremely easy to use for all the basic tasks

Page 14: Rapid Application Development using FOSS

Page 14

Freely redistributable

CherryPy

● The application server of Turbogears● A pythonic, oo web app framework● Maps URL request to Python methods● CGI variables are mapped to method

arguments

Page 15: Rapid Application Development using FOSS

Page 15

Freely redistributable

Genshi

● The templating engine of Turbogears● Templates are well-formed XML● Supports template inheritance and XSLT-like

matching● Designer-friendly: viewable in browser

Page 16: Rapid Application Development using FOSS

Page 16

Freely redistributable

MochiKit

● The Default JavaScript/AJAX library of Turbogears

● Pythonic JavaScript library● “ Makes JavaScript suck less”● Well-documented● Reliable (lots of automated tests)

Page 17: Rapid Application Development using FOSS

Page 17

Freely redistributable

Others● Some other components of Turbogears are:

– Identity management● User, group, permission scheme● IP-based access control

– Widgets– Form Validation through FormEncode

Page 18: Rapid Application Development using FOSS

For Management

Page 19: Rapid Application Development using FOSS

Page 19

Freely redistributable

Benefits of Turbogears

● Better products can be developed much cheaper and faster

● Developed products are easily maintainable● Developers enjoy the development and

maintenance cycles● Learning curve is lesser● Customers get the “ time to market” advantage

Page 20: Rapid Application Development using FOSS

Page 20

Freely redistributable

Benefits of Turbogears● Business processes and back office

operations can be easily automated● Web solutions can be developed quite easily● Provides agile solutions, which do not resist

change● Achieves Productivity Arbitrage

– the competitive advantage gained by delivering solutions below market price, but incurring lower delivery cost by using new technologies.

Page 21: Rapid Application Development using FOSS

Page 21

Freely redistributable

Benefits of Turbogears

● Rapid prototyping– Customers say “ I may not know how to define my

application, but I’ ll know when I see it.” With Turbogears, the prototype could happen faster, in multiple cycles

● Iterative development is enjoyable

Page 22: Rapid Application Development using FOSS

Page 22

Freely redistributable

Conclusion

The cutting-edge MVC RAD frameworks are the answer to the agile business solutions of

tomorrow

Page 23: Rapid Application Development using FOSS

Page 23

Freely redistributable

References● http://sanjaypatel.blogspot.com/2007/07/why-i-chose-turbogears.html

● http://agilemanifesto.org/principles.html

● http://www.turbogears.org

● http://www.sqlalchemy.org

● http://www.cherrypy.org

● http://genshi.edgewall.org

● http://mochikit.com

Page 24: Rapid Application Development using FOSS

Thank You!