This article is part of a web framework comparison which tries to measure the ease of learning and development for several web frameworks with a practical test. In this article, the subject background, the chronological development of all the tests, the test steps to do with each web framework, their times and the documentation that will be used along the process, are described.
Due to the time limitations of the project, a deep research could not have been done in this section. Therefore, the experts, Juan Carlos Rodríguez del Pino, a language programming professor of ULPGC, the author of Virtual Programming Lab, and Carlos Hernández, founder of Endeve, expertise in agile development, have supervised the language programming exercises definition and the website definition.
The subject will be the student, in this case it is me. My relevant background to this project is:
- A five year degree in computer science.
- Several courses on C and C++.
- I programmed in Java for some subjects but I did not receive any Java programming course.
- I programmed a course exercise in PHP.
- I read Yii documentation for several hours.
- I used Django for several hours in a Startup Weekend.
The chronological development of the frameworks will be:
- Ruby on Rails
It is a hypothesis that it will be more difficult to develop with the first frameworks, whatever they are. Therefore, those which are supposed to be the easiest ones to develop with are the first ones. This allows that, in case Ruby on Rails is the first I finish developing with, it cannot be said it is because it is the last one.
Steps of the web framework comparison practical test
These are the six practical test steps which will be accomplished with each web framework:
- Reading the programming language documentation(8 hours): The subject can read the official documentation of the programming language, use search engines for answering questions and do tutorials, but he is not allowed to do the programming exercises.
- Making the exercises to demonstrate language knowledge(12 hours): The subject has to focus on solving the exercises with the language. He can read the documentation and search in Google, but the priority is solving the exercises. The exercises will be described in a few days.
- Reporting the language features and development experience(5 hours): A report has to be done along this project. In this step, the subject can write part of the report. Furthermore, the report improves his learning.
- Reading the web framework documentation(
2530 hours): It is close to the Reading the Programming Language Documentation step. The subject has to focus on reading the documentation, he cannot program any of the website.
- Developing the website(
5045 hours): The subject has to focus on developing the website. He can read documentation and search in Google to help him in his tasks but the main priority is developing the website.
- Reporting the web framework features and development experience(25 hours): In this task, notes about web framework functionality and problem solution are written in the report.
In this section, the fixed times for each step are defined. Each time multiple of five. If the subject makes five hours per working day, each task is separated for at least one day from the previous one. Furthermore, main tasks are separated by weeks. Language related tasks are done in one week. Learning web framework documentation is done in another week. Developing the website is done in two weeks and notes are written in one last week. It means five weeks for each framework test with five hours per working day.
Next, tasks divided by hours:
- Reading the programming language documentation: 8 hours
- Making the exercises to demonstrate language knowledge: 12 hours
- Reporting the language features and development experience: 5 hours
- Reading the web framework documentation:
- Developing the website:
- Reporting the web framework features and development experience: 25 hours
Reading language documentation is so short due to the fact that the subject already knows how to program and just simply has to learn the new syntax and structures of the language. The main learning is done through the exercises.
The official documentation of the web frameworks and the languages will be used along the process. In the development steps, Google can be used to solve problems.
What is your opinion about this practical test design? What do you think about the times and steps? I included Google in the documentation for the development process because I think it is closer to a real situation. Do you think that my background will favour any web framework?
Thanks for reading. Comments, criticism and sharing will be appreciated.
EDITED: Finally, 25 hours for learning the web framework have been considered insufficient. Therefore, it they have been increased to 30 hours and website development has been decreased to 45 hours.