Events are commonly used in applications to handle external actions or input when, for example, a user clicks a mouse. Each action is interpreted as an event. Events are part of the Event-Observer pattern. This design pattern is characterized by objects (subjects) and their list of dependents (observers). Events trigger objects to notify their observers of any state changes, usually by calling one of their methods. It is a very common programming concept that works well to decouple the observed code from the observers. Read more
Before you start, please check the first part: Database in Magento 2: Models, Resource Models, and Collections.
There are several important concepts that have been incorporated into Magento 2, such as plugins, dependency injection, and service contracts. These demonstrate that, overall, the changes in going from Magento 1 to Magento 2 are focused more on the way you do things — to be more flexible and efficient — rather than introducing new features. Read more
The physical process of rendering is conceptually the same as in Magento 1, but it differs from the code and architectural levels. Data meant for output to the browser accumulates in the controller in the internal variable Zend\Stdlib\Message::content, and is displayed by calling Magento\Framework\HTTP\PhpEnvironment::appendBody(). Read more
To add a new custom tab to a product page you need to follow these steps: