Browse DevX
Sign up for e-mail newsletters from DevX


Put Modern Code Generation to Work : Page 3

The notion of software that writes software has been around for decades, but it is only recently that developers are taking this notion of code generation seriously. What changed? Code generation changed—and much for the better.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

A Declaration of Automation
Declarative application generators quickly generate the large, "routine-but-necessary" parts of your application, freeing you to focus on its unique aspects which are outside the scope of any code generation technology.
Figure 4. Custom, Complex Pages: In the end, what you need is to generate great looking applications with advanced functionality, without doing much work.

Declarative code generation works by using a declarative semantic to define what functionality, layout, and performance you want in your application. For instance, XML is a familiar and conventional way to state what it is you want in a declarative style, and so is used by many declarative code generators.

By way of example, the declarative application generator made by my company—Iron Speed Designer—accommodates highly iterative development. Basically, you build your n-tier application with two inputs:

  • HTML-based layout pages, containing code generation tags
  • The database schema and foreign key relationships that underpin your application.
  • Using Iron Speed Designer, the controls represented by code generation tags in your application's web pages are "bound" to specific database tables, fields, views, and queries. This control-to-database binding information is the foundation used by Iron Speed Designer to generate your application to your custom specifications.
    Figure 5. Declarative Process: Declarative code generation alloows you to declare what you want using either page layout files or database schema.

    Why is this declarative method so important and useful for modern .NET application development?

    • This is how developers work. Most applications are architected based on a couple of HTML pages and a database schema. Developers build the application from those starting points. The declarative application generator does the same thing—it reflects your user interface layout and database as inputs and generates a large volume of custom infrastructure programming in a fraction of the time of hand-coding.
    • End users of your application are familiar with the Web and with sophisticated, highly intelligent forms and user interface navigation features. Most developers dread the inclusion of these features—such as paginated reports, hierarchical navigation, filtering, and full-text search—because the amount of time they take up is not proportional to the challenge or interest they create. Application generation tools automatically include these sorts of features, freeing you to focus on the more interesting work.
    • Connecting individual pages to the database is mind-numbing work. Visual Studio and Visual Studio.NET do all the work of connecting events and properties to the controls in client-server applications. However, by using application generation tools, you don't have to worry about manually writing ASPX or SQL. Moreover, you don't have to worry about transaction management, such as concurrency handling and cursor management. The application generator handles this for you.

    Comment and Contribute






    (Maximum characters: 1200). You have 1200 characters left.



    Thanks for your registration, follow us on our social networks to keep up-to-date