For several years now, I have been moving towards this goal in small steps. For the first half of the time, I simply created websites, first using engines, then from scratch - designing both a database and functionality. Each new site or project I tried to develop in such a way that it was not narrowly focused, and carried in itself more features than originally conceived. In the end, I came to a certain solution, theory, technology, if I may say so, about which I also wrote on Habré:
Elements, the basis for development .
Well, this publication is a small presentation of the possibilities, the model that was implemented on the basis of that “technology”.
')
At the very beginning, I had only the outlines of this technology, the first some ideas. Designing and creating works based on these theoretical considerations, I discovered something new, drew a complete picture of what I'm dealing with. Some of these projects I did not finish, and some went out with the end of hosting and zero attendance ...
When I already had a complete picture of what I was dealing with, a completely self-sufficient "technology", I again began to implement new projects, creating and developing a Model that would not be the final solution for the implementation of something, and it could be used to create something fundamental: a site engine or a game engine (and their creation will be described later), etc.
These projects also went out ...
And here I am at the final stage, trying to make this model more convenient for development. Now I have a very raw version, in which I still need to refine a thousand trifles.
The model itself is awesome, and now it’s impossible to tell everything about it.
If you have already read:
Elements, the basis for development , then in principle you will more or less understand what is being said here, if you have not read it, then glance over that publication. Next will be a small demonstration of the capabilities of the model and ideological intention.
Site engine
Since I was originally working with the web, then a large part, the basis for the “engine” of sites, in principle, is ready. We will consider only a part, namely the creation of categories and publications.
Let's create the types of the Category and Publication Elements.
Choose the types of elements that they can contain within themselves:
Let's select properties of types. Initially, properties may not exist, and therefore they are implemented additionally. In the literal sense - both the table in the database and the functionality and html, without departing from the original model.
move on to creating elements
Create a Category Element and create 3 “publication” elements in it.
Fill in the properties of the publication: "Photos" and "Content".
For elements, based on their type, HTML (presentation) is also separately written.
Outwardly, it will look something like this:
The “category” type of HTML was not registered, therefore the “default” view is used.
But the type "Publication" was registered and SHORT and FULL.
All these elements are on the page of the open category element.
Public Item open.
The number of categories and publications is unlimited. Those. In fact, a small site engine is ready. Design under the types of elements is embedded any.
Game engine
Create item types.
Choose types of types
Select the types of properties. The missing ones are implemented and added to the model, making it more narrowly focused.
Create Elements, fill properties.
The structure of information, and its storage are ready. The game itself is implemented on JS. What exactly are we implementing? Handlers! Make an Ajax request to the server, select the information and process it, send it back to the server. Or WebSocket ...
The server part is implemented using php + MySQL, without frameworks. You can contact MySQL with the help of other technologies - Java, C, etc., but you can fill the database with content visually through a browser.
The model is very "raw." Honestly, I do not yet know what to do with it after it is fully ready.