web-dev-qa-db-fra.com

Wordpress peut-il être remplacé par un Framework comme Django ou Ruby on Rails?)

Je me considère comme un développeur de modèles WordPress bien formé, et j'ai récemment commencé à lire des livres et des documents sur les cadres d'applications Web, en particulier Django et Ruby on Rails. Je ne connaissais aucune des deux langues, mais je n'ai aucun problème pour en apprendre une ou deux autres. Je n'ai vraiment pas les avantages réels d'utiliser un framework, car je me sens très confiant sur la puissance de WordPress. Alors, quelqu'un peut-il me dire les vrais avantages de l'utilisation d'un framework? Par exemple, Pinterest est fait en utilisant Django, mais je pense que je peux obtenir les mêmes résultats avec un WordPress = modèle utilisant Javascript et CSS3. Quelqu'un peut-il me dire les différences/avantages de l'utilisation d'un framework dans ce cas particulier?

57
hcsnemrebured

Vous pouvez réaliser le même frontend avec Wordpress, mais ce que vous ne pourrez pas atteindre, c'est la vitesse et l'échelle - et surtout, la maintenabilité - d'une application basée sur une architecture plus orientée application.

Wordpress est très flexible, mais il est également lent et nécessite énormément de TLC pour pouvoir fonctionner à n'importe quel type d'échelle significative. Sa conception permet une modification très flexible du comportement lors de l'exécution, mais c'est aussi un peu une boîte de Pandore, car cela signifie que le code peut finir par s'exécuter partout pour n'importe quelle page donnée, ce qui fait de la maintenance un cauchemar.

Wordpress est extrêmement bon en tant que CMS, mais une fois que vous commencez à le pousser en dehors de ces limites, vous rencontrez des problèmes et vous devez écrire votre propre cadre plus abstrait qui s'exécute dans le contexte de Wordpress pour pouvoir répondre aux besoins de votre application.

Cela dit, si vous avez une application que vous pouvez construire dans le cadre de Wordpress, je dirais que c'est parti! Wordpress peut être un merveilleux outil pour construire une preuve de concept ou MVP. S'il vous permet de démarrer, il peut être le bon choix plutôt que d'écrire une application complète. Cependant, juste sachez que vous allez heurter des murs de briques à mesure que la conception de votre produit arrive à maturité et que votre public se développe, à moins que votre application ne s'inscrive dans un ensemble assez restreint d'exigences de conception, donc à long terme, vous pourriez devoir vous déplacer vers une personnalisation application.

Informations d'identification: j'ai passé les deux dernières années à maintenir une installation Wordpress qui a servi plus de 25 millions d'unités mensuelles, et nous avons dû devenir très intelligents pour la faire fonctionner. Nous l'avons depuis remplacée avec une application Rails qui sert des pages quelque part de l'ordre de 10x à 30x plus rapidement, et est beaucoup plus extensible en tant qu'application, nous permettant de commencer à explorer le potentiel d'application que nous ne pouvions vraiment pas utiliser avec Wordpress.

94
Chris Heald

J'ai déjà pris une décision, travaillant dans une start-up pour choisir WordPress pour un commerce électronique avancé, un marché communautaire.

Ça. Était. Pire. Possible. Décision.

Voici comment je me sentais:

enter image description here

Au début, ça avait l'air bien - vous avez une communauté incroyable, un plugin pour tout, etc. Mais avouons-le - à sa racine - WordPress est une plateforme de blogging !

  • Techniquement, chaque paix de contenu est post.
  • C'est un cauchemar de créer des relations avancées entre les articles
  • WordPress n'est pas orienté objet. Il a beaucoup de classes, mais en général, vous devrez utiliser beaucoup de functions comme get_post_meta Pour gérer ses principales fonctionnalités. Quelque chose comme $post->author()->comments() n'est qu'un rêve.
  • Les fonctionnalités ne sont pas cohérentes. Certaines fonctions fonctionnent d'une certaine manière, d'autres qui semblent très similaires fonctionnent de manière différente. Parfois, vous avez besoin de quelques hacks étranges pour accomplir une tâche qui semble simple. Il vous fait lire les documents très souvent pour voir comment fonctionne la fonction que vous utilisez pour la 1 000e fois. (Pour être honnête, je dois dire cependant que WordPress est géniale!)

La communauté WordPress fait du bon travail, mais par rapport à N'IMPORTE QUEL bon Framework il y a une différence principale - Les Frameworks ne sont que des frameworks - ils sont ensemble d'outils et ces outils sont là pour vous aider à faire votre projet. WordPress essaie déjà d'être quelque chose que vous pourriez alors changer.

Je dirais: si vous avez besoin d'une voiture, vous pouvez acheter des outils et la construire, ou vous pouvez acheter un camion et essayer de le modifier jusqu'à ce qu'il commence à ressembler à une voiture.

Je n'utiliserai jamais WordPress pour tout ce qui nécessite des fonctionnalités personnalisées bien organisées.

C'est juste bon pour le blog et certains petits e-commerce (uniquement parce que certains gars ont fait un excellent travail en modifiant un camion pour devenir une voiture en créant des fonctionnalités de produits, qui sont vraiment des publications, en les connectant avec des promotions, qui sont vraiment des post-métas, en ajoutant des promotions les gestionnaires qui, d’une manière magique, l’emballent).

14
pie6k

Je veux offrir une opinion dissidente, même si j'ai voté contre la réponse du haut.

Rails vraiment spécial?

Rails a été créé par David Hansson qui l'a extrait de Basecamp, un logiciel qui est répliqué dans un plugin gratuit Wordpress, WP Project Manager . Je pense que c'est un assez bon indicateur qui = Rails les développeurs sous-estiment PHP et Wordpress.

MVC et WP

Certes, il ne suit pas un modèle MVC. Mais si vous utilisez hooks , séparez la logique (dans les plugins) des vues (dans les modèles), alors vous aurez une bonne séparation du code. (Conseil également: les types de publication personnalisés sont comme des modèles.)

Framework vs Application

Comme vous pouvez le voir, Wordpress peut être traité comme une application ou un framework. C'est une application, avec tous les composants que vous vous attendez à trouver dans un framework. avoir la sécurité, l'authentification et l'extensibilité. Et c'est censé être étendu.

Mise à l'échelle

WP gère 18% des sites Internet, y compris TechCrunch, Smashing Magazine et (une partie de) CNN. Semble qu'il existe des moyens de faire WP scale. Disclaimer: Je n'ai aucune expérience de travail sur des mégasites comme ceux-ci, donc je propose de simples conjectures.

WP Future

L'abition actuelle de la communauté WP consiste à déplacer WP d'un CMS vers un framework. Je pense que c'est une progression naturelle étant donné que toutes les pièces sont en place) Et la communauté Wordpress va fort.

13
Kyle

Pas vraiment une réponse, mais un indice:

http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

Comme si vous pouviez le remplacer complètement ... Je pense que c'est surtout une question de flux logique. Cela dépend de la quantité de programmation impérative (Ruby on Rails) vs descriptive (WordPress) que vous avez l'intention de faire.

3
user1284631

Je ne pense pas que wordpress peut remplacer Rails, parce que wordpress ont un ensemble limité d'API et de support comme vous le comparez avec RoR. Bien que wordpress est un outil puissant pour l'application de blog, mais le même effet peut être obtenu avec Rails en utilisant des gemmes comme, Radiant CMS, Refinery CMS, Locomotive. Ajout de la puissance comme ttd qui peut être fait varier facilement avec Rails est très difficile avec wordpress.

Idem avec le mécanisme d'authentification et d'autorisation comme devise et cancan. Il n'y a pas d'option facile de faire de même avec wordpress.

Les rails facilitent la vie du programmeur. Pour toute l'application web, je préférerai toujours aller avec les Rails.

2
maximus ツ

Wordpress ne peut pas remplacer le framework X, mais les deux peuvent certainement se compléter.

Par exemple, un front-end WP servant du contenu CMS avec un thème attrayant est assez difficile à battre; proxy vers un serveur principal pour un contenu personnalisé et le tour est joué, le meilleur des deux mondes. Sinon, WP ne répondra pas inévitablement à toutes les exigences et vous vous retrouverez à descendre le trou de lapin à trous carrés, un endroit douloureux en effet; c'est là que le framework X entre en jeu, comblant les WP lacunes.

L'idée que WP ne se redimensionne pas peut avoir une certaine vérité, mais pour le cas général, le 95%, il gérera tout ce que vous lui lancerez, en particulier avec WP Cache ou autre plugin de mise en cache jeté dans le mix.

Certains diront que vous pouvez construire WP avec Django ou RoR! Hé, hé, vous d'abord ;-)

FWIW, j'évite les frameworks de langage dynamiques au profit de leurs homologues statiquement/fortement typés. Utilisez WP pour le bling, et le framework X statique pour la vitesse/l'évolutivité/la sécurité. Bien sûr, c'est une question de préférence, clairement certains préfèrent la flexibilité d'exécution à la sécurité du temps de compilation. Je suis complètement dans ce dernier camp ces jours-ci ...

2
virtualeyes