Today, I have begun working on one of my app framework projects, wherein I am brushing up on all the required skills to write a good application framework. Basically, I would say an application framework is a one-time investment with long-term returns. This means that if you write a good framework initially, then you can smartly focus on business requirements at the later part. So, basically any application framework involves the following points.

  1. General Naming conventions.
  2. Data Access Design.
  3. DI Technique, say Ninject, Structure Map and so on.
  4. Error-Handling and Logging Events.
  5. Security Infrastructure.
  6. UI Design.
  7. Client-side/Server-side Validations.
  8. Many more can be listed, but these are basics.

But, for developing them, you need to have a good implementation knowledge of the following points.

So, these were a few things, in my opinion, that an expert developer should have.