Django pour les développeurs Symfony (et réciproquement)

Post on 15-Jan-2015

7.671 views 3 download

description

Une revue d'ensemble des principales similitudes et différences

Transcript of Django pour les développeurs Symfony (et réciproquement)

Django pour les développeurs Symfony

Ou l’inverse, je sais plus.

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

T’es qui, toi, là ?

• Nicolas Perriault

• Développeur Web depuis [plein de temps]

• Entrepreuneuuur depuis [trois semaines]

• PHP ~ Ruby ~ Java ~ Python

• Core team Symfony

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Symfoquoi ?

• Framework Web

• PHP5

• MVC

• Full stack

• Scope fonctionnel ~= Django

• v1.x sous php <= 5.2.x, v2 sous php >= 5.3

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Symfony

• Sensio Labs

• Support Long Terme (3 ans)

• Communauté++

• Documentation

• Plugins

• PHP...

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

PHP(5)

• Ahhh, PHP

• Typage dynamique faible

• Procédural et/ou OO

• Multiplateforme, mais ~limité au Web

• Simple, limité et peu structuré

• Accessible au néophyte

• Beaucoup de compétences sur le marché

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Python• Ahhh, Python

• Typage dynamique fort

• Procédural et/ou OO

• Multiplateforme, multi-usages

• Simple, puissant et structuré

• Accessible au néophyte

• Peu de compétences sur le marché

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Restons sérieuxQue diable.

• Symfony ~= framework Web + surcouche professionnelle à PHP

• Homogénéise une partie de l’API de PHP

• Expose des fonctionnalités haut niveau et génériques au Web

• Ne réinvente pas la roue

• Favorise les bonnes pratiques et la réutilisation

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Et Django ?

• Django = framework Web

• Exploite les richesses de Python

• Expose des fonctionnalités haut niveau et génériques au Web

• Ne réinvente pas la roue

• Favorise les bonnes pratiques et la réutilisation

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Les stats ! Les stats !

Source : http://trends.google.com/

Source : http://langpop.com/

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Les stats ! Les stats !

Source : http://www.indeed.com/jobtrends/

</bullshit>

Fonctionnalités

• Django Admin

• Routing, urls propres, bidirectionnalité

• ORM

• Forms

• Template tags

• CLI

• HTML exception stack pages

• Middlewares

• Signals

• Session Middleware + User

• JSON/XML/YAML/Python fixtures

• Tests

• Try/Catch sur import de settings

• Admin generator

• Routing, urls propres, bidirectionnalité

• ORM (Doctrine/Propel)

• Forms

• Helpers

• CLI

• HTML exception stack pages

• Filters

• Events

• ACL, authentication w/ Session

• YAML Fixtures

• Tests

• Notion d’environnements

Fonctionnalités

• Configuration en Python

• Template engine

• Inheritance

• with..include

• Blocks

• Template Inclusion Tags

• ACL persistence

• N/A (via dev ou module externe)

• i18N (ui + orm), l10n

• 1.2 DEV

• N/A (via module externe)

• Serveur Web intégré

• Configuration en YAML

• RAW PHP templates (~= #HELL)

• Inheritance

• Partials

• Slots

• Components

• N/A (via plugin externe)

• Formats, RESTful routing

• i18N (ui + orm), l10n

• Flash messages

• Web Debug Toolbar

• N/A

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Résumons

• Django est sexy

• Symfony est sexy

• Python est sexy

• PHP est, heu... une réalité du marché™

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Plus concrètement

• Fortunes

• Quotes manager

• Maurice Svay (http://svay.com)

• PHP4

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Fortunessource code http://fortunes.inertie.org/

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Djortunes

source code http://github.com/n1k0/djortunes

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Sftunes

source code http://github.com/n1k0/sftunes

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Chiffres bruts

• Hors intégration HTML/CSS :

• Djortunes

• Codé en ~16h, sans ne rien connaître à Django, et pas grand chose en Python

• Sftunes

• Codé en ~4h, en ayant 4ans+ d’expérience sur Symfony, et +10 ans en PHP

Talk is cheap, show me the code.

Linus T., Helsinki

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Disclaimer

• Django newbie here!

• Plein d’optimisations à faire dans la version Django

• Plein d’erreurs de débutants

• Pas de bonnes pratiques Python/Django

• Pas représentatif du potentiel de DjangoBon ça va, je peux y aller ?

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Routing

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Routing

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Controlleurs

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Controlleurs(en un seul mot s’il vous plait)

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Templates

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Templates

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Helpers

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Helpers

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Settings

YAML

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Settings

Python

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

ORM

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

ORM

Rencontres Django - Marseille - avril 2010 - Django pour les développeurs Symfony

Conclusion de l’exercice

• Exercice intéressant !

• Veille technologique

• Diversification, idées neuves

• Changement de point de vue

• Tout développeur devrait s’y essayer, c’est bon pour la santé™

Questions ?