Magic Enterprises Edition 8.3 for Linux
Magic provides an X-based integrated development environment with a lot of handy features such as a concurrent version control system, a WYSIYWYG user interface builder and a project management system to make it easy to switch your development focus.
The interface is very database-like in feel; applications, database tables, user-interface elements, everything is viewed as a table. This makes sense, considering that Magic's primary focus is working with databases, but it will seem unfamiliar to people used to more conventional programming environments. Of course, Magic isn't really a programming environment. It is an application-generation environment, so a lot of things will seem odd if you are expecting to start coding.
Everything is a table, including the list of applications themselves. When you go to create a new application, you start in the Settings menu, and configure the application you want. Once it is configured, you go to the File menu and open your new application.
The development environment is totally separate from traditional UNIX/Linux development tools. The version control system is specific to Magic, the debugger is a Magic debugger, everything is Magic. This allows Magic developers to seamlessly cross platform boundaries. When you develop Magic applications, it doesn't matter if you are working on Linux, Windows or an AS/400: the application and the environment are the same.
When it comes to writing applications, the language paradigm is everything. If your language paradigm doesn't match the problems you face, everything is harder. Magic deals in databases; Magic's tools act like database tools. Magic's paradigm is the database. For solving database problems, Magic works very well, but programmers should be prepared to shift world views while learning the system. It is not like programming in Perl.
Magic provides a web tutorial to guide you through developing your first on-line application. If you don't go through the tutorial, you will be lost from minute one. It isn't that Magic is complicated or hard to use. Magic is not intuitive. It isn't hard, either, but the user interface and application development paradigm are unique enough that you can't count on experience to let you fake knowledge of the system.
In Magic, you create a database, define the queries and then design the user interfaces. Magic's intelligence shows because it encourages you to design your database before you worry about the trivial stuff like how the web page is going to look. It is also handy because by the time you get to the user interface, almost everything is done; and since Magic automatically generates and publishes the HTML, by the time you finish the interface, everything is done. Following the tutorial takes about an hour, and when you are done, you will have the start of an e-commerce site that would be an improvement for many on-line retailers. With Magic, a demo and a working program may be just a link apart.
Magic's strength is in getting real-world web and client/server applications up and running quickly, and running fast. Calling Magic “Data Access Middleware”, or an “Application Development System”, or any other simple one-line name risks losing sight of what Magic is for: to make database interfacing easy and scalable. Even that risks oversimplifying things. Perhaps it is: to put the thousand-order-per-minute e-commerce site within reach of the three college students and a venture capitalist that are going to revolutionize on-line sales. Or, to make the ten-thousand-billion-product on-line catalog a one-month project, rather than a life's work. Maybe even to make securely incorporating on-line ordering to your existing database system a seamless extension of what you are already doing, rather than a redesign of your entire business model.
The question you should ask yourself is whether the cost of a super-slick, do-everything database/application generator system will pay for itself the way you plan to use it.
The Magic Enterprise 8.3 server allows you to expand your existing capabilities or add new capabilities, keeping the process as seamless as possible. From interfacing to multiple database systems to load balancing across servers to dynamically partitioning client/server applications, Magic makes the real-world job of keeping a big system running a manageable task. Magic knows this, too, and they know the value of rapid development and scalable deployment. The Magic development kit for Linux is available for an introductory price of $299 US, and single-user licenses for Magic Enterprise 8.3 are free, but licenses for additional users will cost you. When evaluating application development environments and run-time systems, you've got to look at what you will save and what new abilities you will have. If your project would take six months using conventional and free tools like PHP3, or a month using Magic, the extra licensing expense may be more than offset by the savings in development costs.
And if getting big database access jobs done fast is important to your bottom line, Magic may be just what you need.
Born at the beginning of the microcomputer age, Jon Valesh (firstname.lastname@example.org) has pushed and been pushed by computers his entire life. Having run the gamut from games programmer to ISP system/network administrator, he now occupies himself by providing technical assistance to ISPs and small businesses whenever his day job doesn't get in the way.