What RAD tools are out there? [closed]

2020-05-11 11:56发布

We all know the drill: You have a (small) model, you need to persist it, you need a UI for it (web, desktop, mobile, some of the former, all of them).

This is such a repetitive process that I can't help but wonder why we are still stuck with POJOs, OR mappers, and coding UIs from hand (since most UI "designers" don't even know about inheritance and you need to build every OK/cancel dialog with more than one field from scratch). RAD tools/platforms promise to fix that but I haven't seen anything real, yet. The idea of this wiki is to collect all the tools which allow you to flesh out an idea in a few minutes and build from there. Simple things (like creating a simple UI for your model or saving it in a database) should be simple. Attaching a fairly complex object to a dialog to edit it should take one line of code or less ;)

So here comes the challenge: What RAD tools are out there which allow to build a small app within, say, 8 hours. To give you an idea what it should be able to do, here is the spec:

  • You have "knowledge" nodes. Each such node has name and a long description attached to it (single line and multi line string)

  • Each knowledge node can have any number of knowledge nodes as children (1:* sorted parent/child relation). Child nodes need to maintain order (i.e. use a list, not a set)

  • Each knowledge node can have any number of tags attached to it (1:* unordered relation between different types)

  • Any two knowledge nodes can be connected with any number of relations (n:m relation)

  • It should be possible to load/save the model from/as XML and from/in a database with little effort

  • Users expect undo/redo today

The UI should offer the standard operations: Create, reorder and delete knowledge nodes. Reordering should use drag'n'drop. It should allow to add/remove tags from the knowledge nodes. There should be a simple way to connect two knowledge nodes by a relation (say by dragging one node on the other in a special mode).

The UI should also allow to search for nodes with certains tags or relations. For bonus points, it should offer a simple way to navigate the relation graph.

Anything up the challenge? As usual, OSS preferred.

Background: I'm developing software for more than 25 years, now. Still, this simple application takes several weeks if not months to code in any language which I've encountered so far: Groovy, Java, Python, Tcl/Tk, Grails, OpenOffice, MS Access, TreeLine, [TurboGears][10], [Enthought Traits][11], .net.

Some feedback on the contenders. Note that I try to highlight the main point in a single sentence, so take the next section with a grain of salt, OK?

Groovy Nice language, compact code. Close but lacking in the UI department. They are working on it but just not there. For persistence, only Java serialization out of the box.

Java Java was great when it came out ten years ago but it hasn't evolved that much. It's an aging language with a vast set of libraries but you just need too much code to get things done and each line of code takes time to write.

Python Got almost all what it needs but for some reason, it never really became as mainstream as, say, Java. Got a nice UI set with PyQt4, a cool OR mapper with SQLAlchemy but still, we don't see it kicking the throttle to full speed an pull ahead. Only with the advent of unit testing, it became feasible to write bigger projects. Too low level for the task.

Tcl/Tk Nice widget set but the language sucks when the code size grows past a certain point. Shows its age by now.

OpenOffice Since 2.0, OO comes with a built in database and an "Access-like" tool. It's in its infancy but they'll get there ... eventually. Couldn't handle parent/child relations because the UI doesn't allow to specify them (see bug). Fixed in 3.1. With 3.1, you can create the model but the UI would still take a lot of time writing.

MS Access Almost anything we'd need but the UI options are pretty limited. Frustrating.

TreeLine No way to implement relations and too restricted for most other use cases (you simply can't do much else with it)

.net I have no experience with this one, mainly because it's Windows only. I think that this one could be pretty close but let's face it: What is the point of locking out a quarter of mankind?

标签: rad
23条回答
一夜七次
2楼-- · 2020-05-11 12:10

Visual DataFlex is a great RAD tool that we use. It's specifically target at creating database driven business applications. It's unfortunately not free, but it is a great environment/language and Data Access gives good support.

查看更多
我想做一个坏孩纸
3楼-- · 2020-05-11 12:13

DragonRAD was just announced for Blackberry App development. In closed beta right now.

查看更多
甜甜的少女心
4楼-- · 2020-05-11 12:14

XPower++ from ++Technologies - Cross Platform IDE for Windows, Linux, Mac, Android, iOS etc.

查看更多
来,给爷笑一个
5楼-- · 2020-05-11 12:15

Delphi RAD Studio and Lazarus IDE for pascal/delphi language.

查看更多
Explosion°爆炸
6楼-- · 2020-05-11 12:16

WAVEMAKER is the best rad tool ever built.What you said can be done in a couple of hours.

查看更多
一纸荒年 Trace。
7楼-- · 2020-05-11 12:16

Visual Studio - Hands down the best RAD studio there is. If you think that it is not only used for Microsoft's development tools, Delphi Prism uses it, and the SQL Management tools for SQL Server all use it you get an idea of the flexibility of it. It's also free (The RAD tool/IDE - not the development tool).

查看更多
登录 后发表回答