J'ai lu cette page avec grand intérêt. Notre équipe de développement utilise Apex depuis environ 2 ans maintenant, et j'aimerais résumer notre expérience.
Pour la construction d'applications CRUD de base, Apex est vraiment excellent. En fait, je vous recommande de l'essayer vous-même. Nous avons rencontré quelques difficultés mineures initiales pour le configurer, mais celles-ci semblent avoir été résolues dans la version 3.2.
Le bon
- Idéal pour les applications simples. Si votre application va devenir plus complexe, envisagez une solution alternative.
- Les modèles intégrés font que votre application ait l'air assez professionnelle (bien que certains puissent contester cela).
- Un bon forum de support et une communauté active, avec beaucoup de personnes prêtes à vous aider.
- Des commandes intégrées exceptionnelles. J'adore les graphiques et les rapports (mais voir ci-dessous).
Le mauvais
-
Le débogueur est abominable. Si vous avez utilisé Visual Studio (et même des versions anciennes de Microsoft Access), vous serez décontenancé par le débogueur. Pas de points d'arrêt, des messages de débogage qui sortent en liste, devoir afficher manuellement les messages de débogage à l'écran. Horrible. La cause de nombreuses heures perdues à du support.
-
Dès que votre application devient complexe ou nécessite une fonctionnalité avancée, vous devez recourir à Javascript, HTML / CSS, ce qui rend le débogage et le support encore plus compliqués (bien que vous puissiez utiliser des outils comme Firebug ou Visual Studio pour vous aider).
-
Nous avons rencontré des bogues d'état de session inexpliqués et des feuilles de style devenant "détachées" de l'application sans explication - pour n'en nommer que quelques-uns.
-
Le support d'applications inconnues peut être difficile, car il peut être difficile de suivre la logique des pages sans un bon débogueur. Et je ne crois pas à la réponse standard du type "eh bien - les applications devraient être mieux codées". Parce que dans le monde réel, elles ne le sont pas - surtout quand vous utilisez un entrepreneur.
-
Les rapports sont beaux mais pas très utiles si vous ne pouvez pas les imprimer ou les exporter en PDF. Bien sûr, vous pouvez investir dans un serveur de reporting, au final nous avons utilisé une autre solution.
En conclusion
Je dirais d'utiliser Apex sans hésitation pour des applications CRUD simples. Pour toute application de plus grande complexité, optez pour .Net ou Java. Je ne tiendrais pas compte de l'article Wiki sur Apex car il est très biaisé. Remarquez comment la mention "difficile à déboguer" (à mon avis le plus gros échec) a été effacée de l'article.
Autre chose de très prudent à noter est l'affirmation absurde que vous pouvez rapidement convertir des bases de données Access directement en Apex. Oui, cela fonctionnera si votre base de données Access est très, très simpliste. Pour tout ce qui est modérément complexe, oubliez ça, comme nous l'avons constaté.
Nous ne l'utiliserions certainement pas pour des applications orientées web, seulement en interne. Il y a tout simplement trop de difficultés à faire des choses que vous tiendriez pour acquises dans, disons, .Net. Je sais qu'il y a des sites comme AskTom, mais ils ne sont pas exactement complexes. Allons-nous voir le prochain Facebook sur ce logiciel ? Je ne pense pas - bien que je sois sûr que quelqu'un lisant ceci va tenter sa chance.
Apex est résumé dans un commentaire précédent - les managers voient les démos, et adhèrent rapidement, convaincus d'avoir trouvé une solution miracle qui réduira les temps de développement. J'ai eu des managers qui m'appelaient et me disaient, nous avons besoin d'une application de base de données avec 40 tables à construire en une semaine en Apex s'il vous plaît - voilà à quel point le mythe s'est propagé. La réalité est quelque peu différente. Oui certaines choses sont plus rapides, nettement plus rapides, mais vous perdrez du temps dans d'autres domaines - débogage, support et personnalisation.
Évidemment, vous êtes le mieux placé pour décider par vous-même. Installez-le, essayez-le, vous pourriez l'apprécier. Mais ne vous laissez pas tromper par des affirmations de temps de développement rapide avant de l'avoir bien testé sur une application réaliste.