Quels sont les outils de RAD? [fermé]

nous connaissons tous l'exercice: vous avez un (petit) modèle, vous devez le persister, vous avez besoin D'une interface utilisateur (web, bureau, mobile, certains des premiers, tous).

c'est un processus tellement répétitif que je ne peux m'empêcher de me demander pourquoi nous sommes encore coincés avec des POJOs, ou des mappers, et codant UIs à la main (puisque la plupart des "designers" D'UI ne savent même pas au sujet de l'héritage et vous devez construire chaque dialogue OK/cancel avec plus d'un champ à partir de zéro). RAD outils / plates-formes je promets de réparer ça, mais je n'ai encore rien vu de réel. L'idée de ce wiki est de rassembler tous les outils qui vous permettent d'étoffer une idée en quelques minutes et de construire à partir de là. Les choses simples (comme créer une interface utilisateur simple pour votre modèle ou la sauvegarder dans une base de données) devraient être simples. Attacher un objet assez complexe à une boîte de dialogue pour l'éditer devrait prendre une ligne de code ou moins ;)

voici donc le défi: Quels sont les outils RAD là-bas qui permettent de construire une petite application dans, disons, 8 heures. Pour vous donner une idée de ce qu'il devrait être en mesure de faire, voici la spécification:

  • vous avez des nœuds de "connaissance". Chacun de ces Noeuds a un nom et une longue description attachée à lui (corde d'une seule ligne et de plusieurs lignes)

  • chaque nœud de connaissance peut avoir n'importe quel nombre de nœuds de connaissance comme enfants (1:* relation parent/enfant triée). Les noeuds enfant doivent maintenir l'ordre (c'est-à-dire utiliser une Liste, pas un ensemble)

  • Chaque le noeud de connaissance peut avoir n'importe quel nombre de tags attachés à lui (1:* relation non ordonnée entre les différents types)

  • deux noeuds de connaissance peuvent être connectés à n'importe quel nombre de relations (relation n:m)

  • il devrait être possible de charger/sauvegarder le modèle de/en XML et de/dans une base de données avec peu d'effort

  • les Utilisateurs s'attendent à annuler/refaire aujourd'hui

L'IU devrait offrir les opérations standard: Créer, réorganiser et supprimer des nœuds de connaissance. La réorganisation devrait utiliser drag'n'drop. Il devrait permettre d'ajouter ou de supprimer des balises des nœuds de connaissances. Il devrait y avoir un moyen simple de connecter deux noeuds de connaissance par une relation (disons en faisant glisser un noeud sur l'autre dans un mode spécial).

L'interface utilisateur doit également permettre de rechercher des noeuds avec certaines balises ou relations. Pour les points bonus, il devrait offrir un moyen simple de naviguer dans le graphique relation.

Tout le défi? Comme d'habitude, OSS de préférence.

Background: je développe des logiciels depuis plus de 25 ans, maintenant. Pourtant, cette simple application prend plusieurs semaines, voire des mois, pour coder dans n'importe quelle langue que j'ai rencontrée jusqu'à présent: Groovy,Java, Python, Tcl / Tk,grain, OpenOffice, MS Access,limite forestière, [TurboGears] [10], [Enthought Traits] [11], .net.

Quelques commentaires sur les prétendants. Notez que j'essaie de mettre en évidence le point principal dans une seule phrase, afin de prendre la section suivante avec un grain de sel, OK?

Groovy Belle langue, code compact. Proche mais manquant dans le département D'UI. Ils y travaillent, mais tout simplement pas là. Pour la persistance, seule la sérialisation Java sort de la boîte.

Java Java était génial quand il est sorti il y a dix ans mais il n'a pas évolué que beaucoup. C'est un langage vieillissant avec un vaste ensemble de bibliothèques, mais vous avez juste besoin de trop de code pour faire les choses et chaque ligne de code prend du temps à écrire.

Python a obtenu presque tout ce dont il a besoin, mais pour une raison quelconque, il n'est jamais devenu aussi courant que, disons, Java. J'ai un joli jeu D'UI avec PyQt4, une chouette OU mappeur SQLAlchemy mais quand même, on ne le voit pas pousser les gaz à pleine vitesse et tirer en avant. Seulement avec l'avènement de l'unité les essais, il est devenu possible d'écrire de plus grands projets. Niveau trop bas pour la tâche.

Tcl / Tk bel ensemble de widget mais le langage craint quand la taille du code dépasse un certain point. Montre son âge.

OpenOffice depuis 2.0, OO est livré avec une base de données intégrée et un outil "Access-like". C'est à ses balbutiements, mais ils vont y arriver ... finalement. Ne pouvait pas gérer les relations parents-enfants parce que L'UI ne permet pas de Les spécifier ( voir bug). Correction en 3.1. Avec 3.1, vous pouvez créer le modèle, mais l'INTERFACE utilisateur serait encore prendre beaucoup de temps à écrire.

MS Access presque tout ce dont nous aurions besoin, mais les options de L'interface utilisateur sont assez limitées. Frustrant.

limite forestière Aucun moyen de mettre en œuvre des relations et trop limité pour la plupart des autres cas d'utilisation (vous ne pouvez tout simplement pas faire grand chose d'autre)

.net je n'ai aucune expérience avec celui-ci, principalement parce que c'est Windows uniquement. Je pense que cela pourrait être assez proche, mais avouons-le: Quel est le point de verrouillage, un quart de l'humanité?

40
rad
demandé sur Aaron Digulla 2009-02-04 12:35:50

23 réponses

WAVEMAKER est le meilleur outil rad jamais construit.Ce que vous dit peut être fait en quelques heures.

15
répondu Aaron Digulla 2011-09-26 07:44:27

Cela dépend de votre marché est. Je peux vous dire une chose, votre marché ne sera jamais composé de toute l'humanité. Donc le fait que peut-être 25% des gens sur la planète n'utilisent pas Windows ne devrait pas vraiment compter pour vous.

Ce qui compte pour vous c'est combien de personnes dans votre marché utiliser n'importe quel système D'exploitation? Si vous écrivez une application commerciale / financière et que vous ne développez que pour Windows, alors vous ne faites probablement que passer à côté .05% de votre marché (parce que quand est-ce la dernière fois que vous avez entendu parler d'un comptable qui utilise Mac ou Linux?).

cependant, si vous écrivez un programme pour produire de la musique (comme FruityLoops) et que vous n'écrivez que Windows, alors vous négligez probablement plus 50% de votre marché.

7
répondu Wayne Bloss 2009-02-04 09:43:18

Microsoft Lightswitch. Il est difficile d'imaginer quelque chose de "plus rapide".

7
répondu Marek 2010-08-04 07:47:21

Magie uniPaas: utilisé à mon tout premier emploi pour développer des GUI. C'est un outil RAD pas absurde, où tout est basé sur une table. Il fournit également un environnement d'exécution. À l'époque, ça s'appelait Magic eDeveloper.

3
répondu Gerrie Schenck 2009-02-04 09:42:37

je pense que WinDev suit L'idée de RAD, aussi.

Note: fonctionne uniquement sur Windows, les prix commencent à 990 EUR. Livré avec une large gamme d'outils.

3
répondu TheJeed 2009-02-04 13:04:10

Visual Studio, des Mains vers le bas le meilleur RAD studio il est. Si vous pensez qu'il n'est pas seulement utilisé pour les outils de développement de Microsoft, Delphi Prism l'utilise, et les outils de gestion SQL pour SQL Server Tous l'utilisent, vous obtenez une idée de la flexibilité de celui-ci. C'est aussi gratuit (l'outil RAD/IDE - pas l'outil de développement).

3
répondu Robert MacLean 2009-02-04 13:12:45

Clarion (http://softvelocity.com).

je pourrait/pouvez obtenir une démo ramoner ensemble pour un projet de ce type, dans une question d'heures.

une lacune de perspective est qu'il crée des exécutables Win32. Bien sûr, cela peut être résolu en créant un système web avec elle.

un autre est que Clarion n'est certainement pas open source. Ce qui permettrait de mettre beaucoup de folk off.


Ok. Mon dernier commentaire a été d'environ 2 heures. Si pendant ce temps, voici ce que J'ai réussi à faire à Clarion.

http://125.214.67.190:5824/

je n'écris pas cela pour me vanter. Je crois sincèrement que Clarion peut faire des choses incroyables en très peu de temps.

le système de "connaissance" est en grande partie une démo. Vous ne pouvez ajouter que des Tags et des Relations aux noeuds parents. Il n'y a pas de recherche de Tag/Relation (seulement au singulier). Pas d'images ou de design graphique décent ou UI.

Mais le cadre, la fondation est là.

3
répondu Stu Andrews 2012-10-03 13:17:35

Oracle Application Express (http://htmldb.oracle.com/pls/otn/f?p=4600:6:171781307324519::NO::::)

en utilisant seulement un navigateur web et expérience limitée en programmation vous pouvez développer des applications centrées sur les données en quelques minutes. Le développement basé sur le navigateur vous permet de développer des applications sur la plupart des ordinateurs en utilisant seulement un navigateur Web moderne.

utiliser simple assistants et de programmation déclarative pour créer de puissantes applications de rapports et de saisie de données. Vous pouvez créer des applications à partir de téléchargements de tableurs, ou sur des tables de base de données existantes et des vues. Oracle Application Express inclut SQL Workshop pour créer et gérer les objets de base de données qui supportent votre application.

Avec Application Express, le codage est déclaratif. Cela signifie qu'aucun code n'est généré ou compilé. Vous interagissez avec des sorciers et des fiches de propriété. Depuis que le langage SQL est utilisé pour définir des rapports et des graphiques, une certaine connaissance de SQL est utile. Si la logique procédurale est nécessaire, vous pouvez écrire des extraits de code en utilisant PL/SQL. Le code déclaratif produit moins de différences entre les développeurs et cette cohérence rend les applications Application Express faciles à entretenir et à gérer.

2
répondu itobinh 2011-01-11 11:14:38

Matisse visual editor de Netbeans est idéal pour le développement du Swing .

1
répondu Geo 2009-02-04 13:07:24

Graal est un cadre pour construire rapidement des applications web. Il est basé sur Groovy. Vous définissez le modèle, exécutez deux commandes à partir de la ligne de commande et vous êtes défini avec un simple CRUD UI où vous pouvez éditer votre modèle dans un navigateur web.

Web seulement, beaucoup de bonnes idées mais vous ne pouvez pas avoir des relations parent / enfant à cause de ce bug qui sera, espérons-le, corrigé dans la version 1.0.5. Pour les graves, vous aurez besoin d'un de l' AJAX / Rich Client plugins parce que Grails ne vient pas avec des widgets très puissants.

1
répondu Aaron Digulla 2009-02-04 13:37:13

REALbasicest un outil RAD - son compilateur produit des exécutables natifs. Et c'est un cross-compilateur, ce qui signifie que vous pouvez créer à partir de n'importe quelle plateforme de la plate-forme.

L'accès complet à la base de données n'est pris en charge que dans L'Édition Professionnelle (à 400 EUR). La version personnelle vient à EUR 75 et peut se connecter à REALSQLDatabase (qui aussi des gars de RealSoft).

Contrairement à hibernation ou SQLAlchemy, vous devez écrivez le calque DB vous-même.

1
répondu Galwegian 2009-02-04 14:28:31

Lazarus LCL est un Delphi comme VCL sur les ensembles de widget existants.

C'est peut-être GTK1, GTK2, QT, Win32/64, de la Crispation et de Carbone. Il y en a d'autres (comme un pont de cacao), mais ils n'en sont la plupart du temps qu'à leurs premiers stades.

1
répondu Marco van de Voort 2009-05-07 14:22:37

bibliothèque Qt, trouvé à: http://qt.nokia.com/products pour C++ multi-plateforme de développement du GUI est aussi excellent pour les ordinateurs de bureau et mobiles pour la construction d'applications.

1
répondu Israel ANY 2010-01-15 19:24:15

XPower++ from ++Technologies-cross Platform IDE pour Windows, Linux, Mac, Android,iOS etc.

1
répondu Aaron Digulla 2012-03-02 11:19:30

Cette réponse n'est pas directement liée à votre question, mais est similaire. Pour mes projets, la chose la plus proche que j'ai utilisé est NEsper, qui est un code source ouvert de traitement d'événements complexes (CEP). Au cours des deux dernières soirées, j'ai construit un backtester pour un système de trading que je suis en train de mettre en place, et il a été NEsper qui a fait si rapide - je suppose que je l'ai fait dans votre objectif de 8 heures.

0
répondu endian 2009-02-04 13:23:11

TurboGears est un framework pour construire rapidement une application web en utilisant Python. Caractéristiques principales: vous définissez le modèle, TG crée tout le reste qui peut ensuite s'adapter à vos besoins. Les changements dans le modèle nécessitent un redémarrage du serveur de développement, tout le reste se produit lors du prochain rechargement dans le navigateur web (TG vous permettra de savoir quand vous avez besoin de redémarrer).

un grand pas en avant, surtout la version 2.0 (qui devrait sortir "real soon, now"), Je sais que vous y travaillez dur depuis plusieurs années ... mais pas de TG 2.0 pour moi pendant plusieurs années, soit: () Web seulement, cependant. Donc nous devrions mettre en place tout le drag'n'drop nous-mêmes, trouver un moyen de peindre un graphique navigable. Malheureusement fermer.

0
répondu Aaron Digulla 2009-02-04 13:40:14

Traits D'Enthousiasme est un excellent cadre pour construire une INTERFACE utilisateur par défaut à partir d'un modèle. Facile à utiliser, puissant, le cas par défaut est celle que vous voulez la plupart du temps et c'est ce que vous attendez

mais il n'y a pas de persistance dans la base de données. En fait, pas de persistance du tout. Vous devez écrire le code pour enregistrer/charger votre modèle vous-même. Faire cela pour XML est assez simple (il y a une API abstraite qui fonctionne pour n'importe quel objet dans votre model), donc vous avez juste besoin d'écrire une classe avec, disons, 50 lignes de code, peu importe la complexité de votre modèle.

les contrôles D'UI ne sont pas faciles à étendre, donc si vous avez besoin de quelque chose qui ne vient pas avec elle, bonne chance.

le modèle mentionné ci-dessus peut être implémenté en moins d'une heure, une autre heure pour le lire/l'écrire à partir de/vers XML. La navigation graphique pour la relation prendra quelques jours en utilisant le widget canvas de Qt.

0
répondu Aaron Digulla 2009-02-04 13:44:56

je pense que nbandroid vaut la peine d'être mentionné. C'est un outil génial pour le développement du logiciel Google Android en utilisant NetBeans IDE.

0
répondu dajood 2009-02-04 14:29:45

Visual DataFlex est un grand outil RAD que nous utilisons. Il vise spécifiquement à créer des applications d'affaires basées sur des bases de données. Il est malheureusement pas libre, mais il est un grand environnement / langue et Accès Aux Données donne un bon support.

0
répondu Anders Öhrt 2009-05-07 14:31:57

DragonRAD vient d'être annoncé pour le développement de L'application Blackberry. En bêta fermée dès maintenant.

0
répondu sp0rus 2010-08-21 04:52:39

Panther (et C'est la version OSS OPOSSL) semble être un cadre pour construire des applications web. Je n'ai pas pu l'installer car il n'est fourni qu'avec un script shell Unix comme installateur. Quelqu'un d'autre a de l'expérience avec cela? Veuillez modifier cette entrée alors.

0
répondu Aaron Digulla 2012-07-01 13:30:52

Boa Constructor est une plateforme croisée Python IDE et wxPython GUI Builder.

elle est listée comme une plateforme croisée RAD sur Wikipedia mais à mon avis c'est plus un IDE (au lieu de quelque chose où vous pouvez construire l'application décrite ci-dessus en quelques heures).

-1
répondu Aaron Digulla 2009-02-04 14:04:00