Transcript

WEB DEVELOPMENT TRENDS--------------------------------------------------- In my view -----------

Who I am

Rajib AhmedCTO of D32Things I know a little about PHP5 CakePHP JQuery Ruby On Rails ActionScript 3.0 MySQL and Oracel

Things I wish I Knew

Java C# C++

New technology that interests me Android – open source mobile OS by

google Symfony Iphone + Objective C Drupal

Daily Development tools

Languages – PHP, Ruby , ActionScript Editor – E-textEditor , Vim , Flash

Develop IDEs – NetBeans , Eclipse , Flash

Builder Version Control : git github.com Redmine Apache Ubuntu Linux

My works

I have developed only 4-5 web application.Throughout my 2 years in web development.

Inventory Management System for Square textile (PHP5 + Jquery + MySQL)

Development time : 4 months Developers : 3 Features

Complex Report Generation Destop application like interface Multiple User Level privilege system

Focus Builder

Real Estate management + Project Management

CakePHP , JQuery , JQueryUI Development time : 8 months (2

years) Developers: 3 Features :

This is a paid service for managing your employees.

URL: http://focusbuilder.com

Bandtycoon

RPG game CakePHP , Jquery, JQueryUI Developer : 4 Designers : 3 URL: http://bandtycoon.com

Section One

Things I learned

Large scale project needs Project management tools Version control Planning Testing Documentaions

UML Database Diagrams Requirement Analysis

Project Management Tool

JIRA Redmine MantisAnd there are thousand moreCollaborated development success

partly depends on this

Version Control

SVN CVS GIT MercuralAnd there are thousand moreWithout this collaborated development

is a mess

Planning

There must be some goals to fulfill There must be some targeted clients

or users Knowing what are trying to do.

Testing

Unit Testing for TDD Rspec for BDD

Documentation

We everybody know how important this is !!!

Knowing

Deadlines Limitations Best approach The available tools

Section 2

PHP5

PHP5 is Object Oriented New language features from 5.3.0 Namespacing Clojures / blocks

OOP vs Procedural Programming Manageable vs Unmanageable Scalable vs Stagnant Structured vs Unstructured Patterns

OOP Concept

Inheritance Polymorphism Encapsulation

This is easy !!!

Simple PHP vs Ruby class

Inheritance

Add the functionality and Behavior of parent

Children can override parents Behavior

Children can extend from only one parent

Interfaces are used for multiple inheritance

Design Patterns

Structural Design Pattern Behavioral Design Pattern Creational Design Pattern

“With great power come great responsibility”

Design Patterns in web development After boom of Ruby On Rails 2003 Everybody is using MVC pattern

Section 3

Application in 10 minutes

CakePHP Ruby On Rails

ORMs

Object Relational Mapping Mapping Class Property from

database fields PHP orm – Propal , Doctrine .NET orm – Nhibernate Java orm – Hibernate Ruby orm – ActiveRecord ,

DataMapper, Arel

Benefits of using ORMs

Database abstraction layer No SQL or Less SQL Domain Specific mapping

top related