7
votes

Quels sont les gothas avec ColdFusion?

fond : J'ai un nouveau site dans la phase de conception et envisage d'utiliser ColdFusion. Le serveur est actuellement configuré avec Coldfusion et Python (fait pour moi).

C'est mon choix sur quoi utiliser et ColdFusion semble intriguer avec le concept de balise. Après avoir développé des sites dans PHP et Python, l'idée d'utiliser un nouvel outil semble amusante, mais je veux m'assurer qu'elle est aussi facile à utiliser que mes deux autres choix avec des choses telles que l'embellissement et l'évolutivité de l'URL.

Y a-t-il des problèmes courants d'utilisation de ColdFusion en faveur de l'évolutivité et de la rapidité du développement?

Mon autre choix est d'utiliser Python avec WebPy ou Django.


4 commentaires

URL L'embellissement concerne le serveur Web, et non la langue que vous utilisez pour vos pages Web dynamiques. Mod_rewrite ne se soucie pas si vous utilisez Perl ou Cobol.


Oui, je sais que les frameworks Python ont des méthodes qui ne nécessitent pas d'utilisation .htaccess. C'est ce dont je parle.


À chacun leur propre, mais pour moi son juste trop déclaratif.


Devrait probablement être un wiki communautaire.


5 Réponses :


2
votes

de deux ans de travail avec cf, pour moi, les plus gros gothas sont les suivants:

Si vous codez principalement à l'aide de balises (plutôt que de CFScript) et de formatage de la lisibilité, préparez-vous à votre sortie pour être rempli d'espace blanche. Contrairement à d'autres langages de script, les espaces blancheurs entre les instructions sont en fait envoyés au client. Donc, si vous en bougeez environ 100 fois et que vous émettez le résultat, tous les gelles et onglets du code source de boucle apparaîtront 100 fois. Il y a des façons autour de cela, mais cela fait un moment - je suis sûr que quelqu'un a déjà posé la question, alors une recherche rapide vous donnera votre solution.

liée au problème des espaces, si vous écrivez un script à utiliser avec Ajax ou Flash et que vous essayez d'envoyer XML; Même un seul espace avant que la DTD ne puisse briser certains des moteurs d'analyse les plus difficiles (JQuery était utilisé comme ça - je ne sais pas si cela le fait toujours et Flash était un cauchemar). Quand j'ai fait cela, j'ai passé des heures à essayer de comprendre pourquoi ce qui ressemblait à un XML bien formé faisait mourir mon script.

Les versions ultérieures ne sont pas si mauvaises, mais je travaillais également sur des systèmes hérités où même une fonctionnalité assez fondamentale manquait. Très souvent, vous trouverez que vous devez aller à la recherche d'une bibliothèque COM ou Java pour faire le travail pour vous. Encore une fois, cependant, c'est dans les versions antérieures.

CFAJAX était une grosse bête fastiqueuse la dernière fois que j'ai vérifié - alors ne vous inquiétez pas, roulez votre propre.

Autre que cela, j'ai trouvé que cf est une langue amusante pour travailler avec - elle a ses idiosyngritagies comme tout le reste, mais en gros, c'était en grande partie des maux de tête libres et rapide de travailler avec.

J'espère que cela aide :)

acclamations

IAIN

EDIT: Oh, et pour des raisons le mieux connu d'Adobe, si vous exécutez la version d'essai, vous obtiendrez un charmant commentaire HTML de graisse avant la totalité de votre sortie, que vous soyez ou non, vous émettez en réalité sur HTML. Et oui, parce que le commentaire apparaît avant votre DTD, soyez prêt pour certains navigateurs (ne regardant personne en particulier!) Pour le rendre comme la merde. Encore une fois - peut-être qu'ils ont repensé cela dans la nouvelle version ...

Edit N ° 2: Vous avez également mentionné la réécriture de l'URL - où j'avais l'habitude de travailler, nous l'avons fait tout le temps - aucun problème. Si vous courez sur Apache, utilisez mod_rewrite, si vous exécutez sur IIS Acheter ISAPI REWRITE 3.


2 commentaires

WhitSpace dans la colonne ColdFusion peut être supprimé par le formatage de votre tampon de sortie ColdFusion. Stackoverflow.com/Questtions/2241910/whitSpace-Coldfusion/.../a>


Il y a aussi une option pour supprimer Whitpace dans CFADMIN



1
votes

Cela fait quelques années, mes informations peuvent donc être un peu obsolètes, mais dans mon expérience:

Avantages:

ColdFusion est facile à apprendre et rapide à obtenir quelque chose et à courir de bout en bout.

contre:

Comme avec de nombreuses langues de script de serveur, il n'existe aucune séparation réelle entre la logique de persistance, la logique commerciale et la présentation. Tous sont généralement entrecoupés dans un fichier source de coldfusion typique. Cela peut signifier beaucoup plus de travail si vous souhaitez modifier le schéma de base de données d'une application mature, par exemple.

Il y a quelques disciplines qui peuvent être suivies pour rendre les choses un peu plus maintenues; "Fusebox" était un. Il peut y avoir d'autres.


1 commentaires

Il y a beaucoup de frameworks MVC matures maintenant - ModelGlue, ONTAP, CFWheels, FW / 1. Coldbox, etc.



9
votes

Coldfusion 9 avec un bon cadre comme le FW / 1 de Sean Cornfeld a de nombreuses performances et toutes les fonctionnalités de toute langue de développement de serveurs Web moderne. Il possède de superbes fonctionnalités d'intégration telles que le support Exchange Server et Excel / PDF Support hors de la boîte.

Comme tous les outils, il peut ou non être le bon pour vous, mais les GOTCHAS en termes d'évolutivité seront généralement avec votre code, rarement la plate-forme.

Utilisez libéralement Memcached ou l'Ehache intégré en CF9, soyez intelligemment sur votre stratégie d'accès aux données, de manière intelligente des données retournées et que vous ferez des performances correctes.

Mon approche avec CF récemment consiste à utiliser de manière approfondie JQUERY pour la logique côté client et à l'aide des FC pour la configuration initiale de la page initiale et les appels AJAX pour remplir des tables. Cela réduit considérablement le code spécifique des FC et oblige la séparation de la logique agréable. De plus, il réduit la dépendance sur une plate-forme unique (à part l'excellente bibliothèque de JQuery).

Pour répondre spécifiquement à votre question, si vous lisez les balises [Coldfusion], vous verrez ici des questions sont rarement à la vitesse ou à l'évolutivité, elle échoue bien. Beaucoup de questions semblent être sur des endroits où les FC constituent une couche assez mince sur un autre outil tel que APACHE AXIS (Services Web) et ExtJS (CFAJAX) - Aucun dont vous avez besoin d'utiliser. Vous aurez probablement besoin de mod-réécrire ou de réécrire IIS pour masquer .cfm


0 commentaires

6
votes

Depuis que vous avez déjà ColdFusion et Python à votre disposition, j'envisagerai soigneusement ce que vous essayez d'accomplir.

Avez-vous besoin d'une courbe d'apprentissage progressive, d'une langue conviviale de Newbie (facile pour une personne qui connaît HTML à apprendre), une bonne documentation et de nombreuses fonctionnalités qui facilitent les tâches normalement difficiles? Cela ressemble à un travail pour ColdFusion.

Cela dit, une fois que vous avez obtenu les bases de Coldfusion Down, il est facile de passer à une approche orientée objet (comme d'autres l'ont noté, il existe une pléthore de frameworks MVC disponibles: FW / 1, Coldbox, Fusebox, Modèle-Colle , Mach-II, Lightfront et la liste se poursuivent ...), et il existe également des cadres de gestion de la dépendance (DI / IOC) (dont mon préféré est froid, modélisé après le cadre de printemps de Java) et la capacité de faire l'aspect -La programmation personnelle, également. Enfin, il existe également plusieurs frameworks ORM (transfert, réacteur et Datafaucet, si vous utilisez CF8 ou plus tôt, ou ajoutez hibernate à la liste en CF9 +).

Coldfusion joue également bien avec à peu près tout ce qui est là-bas. Il peut charger et utiliser des assemblages .NET, fournit un accès natif aux classes Java et crée et / ou de consommer des services Web (en particulier du savon, mais le repos est possible) un morceau de gâteau. (Je pense que cela signifie même com / corba, si vous avez envie d'utiliser Tech à partir de 1991 ...)

Malheureusement, je n'ai aucune expérience avec Python, je ne peux donc pas parler de ses forces. Peut-être qu'un développeur de python peut éclairer une lumière là-bas.

Tant que l'URL se remett, (à nouveau, comme d'autres l'ont noté), ce n'est pas vraiment fait dans la langue (bien que vous puissiez la défoncer); Pour obtenir une très belle URL, vous avez vraiment besoin de mod_rewrite (qui peut être fait sans .htaccess, les règles iraient dans votre fichier de configuration Apache Vhosts) ou avec l'un des produits de réécriture de l'URL IIS.

Le "Fudging" J'ai fait allusion à ce qui serait une URL comme: http : //example.com/index.cfm/section/action/? Search = foo - Le ".cfm" est dans l'URL de sorte que la demande soit confiée à partir du serveur Web (Apache / IIS) à le serveur d'applications (ColdFusion). Pour vous débarrasser de la "CFFM" de l'URL, vous devez vraiment utiliser un outil de réécriture d'URL; Il n'y a aucun moyen autour de cela.


2 commentaires

Je me suis développé à Python avant. Je connais déjà php et python. J'aime vraiment Python et utiliser PHP quotidiennement. C'est juste que je n'ai jamais utilisé de fusion froide et j'ai eu la chance de maintenant, mais je ne veux pas que cela augmente le temps de développement par une grande marge ou ne pas être capable de faire tout ce que Python peut faire.


Génial, alors vous connaissez les forces de Python et peuvent les comparer à mes notes ci-dessus. Cela dit, à tout moment, vous comparez à apprendre une nouvelle langue dans le processus d'écriture d'une application par rapport à la même application dans une langue que vous connaissez déjà, il est probable que l'utilisation de ce que vous savez déjà sera plus rapide. La question à vous poser est si cela vaut le temps d'investissement. Je trouve que les applications des FC devraient être très maintenues, accessibles pour les développeurs junior ("ici ... Allez essayer de réparer ce bogue pendant que je travaille sur quelque chose de plus important ..."), et surtout pour moi: rapide ... je reçois mon Travail fait et rapide!



2
votes

Faites-vous la faveur et consultez le Projet CFWheels . Il a la réécriture de l'URL support et des itinéraires que vous recherchez. Également en tant que cadre complet de la pile MVC, il vient avec sa propre orme.


0 commentaires