Tina4

This is not a framework

Visit Website
April 21, 2021 Release Candidate Testing Finally!

We are in the process of testing the final release candidate which will be launched in May. I did some background checking on when I first started on this project and it will be 10 years in May since the first concept of the framework. A lot has changed since then but the core features we wanted to bring to life are there! New features are frozen at the moment and all that is being done is to refine and fix bugs. The website presence and documentation still needs work and that we are going to facilitate through video and wiki.

Comment

February 15, 2021 Coding projects get messy.

So I build the framework which is not a framework because I want people to have the freedom to organise their projects the way they want and in a structure that makes sense. Lo and behold on a project that I am working on I am now finding I can't find things easily. The issue lies in the grouping and organising of the functionality.

Best practice argues for separation of concern, but too much separation causes headaches in maintenance and finding things. It's great for while you're fresh with the project and everyone knows where everything is, but come back a couple of months later to 1000s of lines of code and you need to start remembering where you put things (And this is with a logical structure!!!).

In conclusion I woke up this morning and added some more features to Tina4 which will allow the mess to be more manageable. Hopefully I can save some other people from losing their minds when they need to find code. I also need to keep track of what features we have and so here is a short list of the most important ones and why:

  • Twig Templates - mature, caches well, fast, extensible
  • Simple ORM - why do you need 10000 lines of code to talk to a database?
  • Annotated Tests - write your tests while you write the code, why wait for later or have the headaches of creating another application just for testing
  • CRUD - Yeah, no developer likes to build simple code to add stuff to a database, Tina4 actually does this for you if you ask it nicely
  • Migrations - A big thing of keeping sanity especially when you work with a database is changes, Tina4 helps you handle those with no third party additions
    *Small - Tina4 is small and light weight which means it must have really good code in it to do so much with so little ;)

Happy coding everyone

Comment

February 11, 2021 Refine - Refine - Refine

It doesn't matter how far or close I think the release point is going to be, it seems like there are always one or two more bugs to fix. At this point locking down the features that are needed for release are also critical, so we don't add more stuff which can be bugs and more things to test. At this stage in time we have between 20 and 30 adopters of the platform, it is difficult to day whether anyone is actually using the system for production sites but I can confirm now over 10 production systems have been rolled out on Tina4 and their performance is good.

The biggest learning curve for developers starting out it seems is to get their development environments up and working. As in any trade, having the best tools for developing is essential. We are fortunate to have Jetbrains sponsoring our teams development IDE's and that does help with finding issues.

We've announced the new version as coming on our existing website, lot's of fun with the Manga art - Tina has had a total facelift!

https://tina4.com/

Comment

December 28, 2020 Tina4 v2 - Release is close

Tina4 version 2 is getting close to a release point, I am paying some one to do the documentation, we decided to use Docsify as the means to running the documentation from within the repository itself. A lot of things have changed in the last while, and the stack has definitely been put through its paces on some production systems. A lot of issues have been sorted out in the ORM and the database abstractions have been refactored. Somethings that are working really well:

Comment

February 4, 2019 Tina4 composer installer

Converted Tina4 to a composer package. Before a developer would have to clone the repository and configure it manually. Initially I thought of a "compiled" source base for the project which would run from a phar file but I have removed that for the moment as debugging is becoming crazy. Happy with the results so far as you just need to do a composer require for the library to work. Also leaning on getting the built in PHP web server working as a development tool so there is no need to run a web server or Docker environment if you want to do some quick development.

https://packagist.org/packages/andrevanzuydam/tina4php

Comment

March 5, 2016 Tina4 version 2 - Begin development

Tina4 version 2 needs to be better than the first version, a lot of code needs to be simplified. Caching and templating need to be built in from the start. I decide to use Twig templating engine and phpcache as a base. I look into other frameworks, still not happy with the level of complexity they bring to the table in my opinion. One thing that is important is to be able to document route end points with annotations to create swagger documentation on the fly. Making swagger docs is way too complicated.

Comment

December 20, 2015 Tina4 v1.0.4 Released

The last version 1 release is released. It is stable and all the functionality works as it should. Tina4's own template engine is a bit difficult to work with but the routing, database abstraction and other code base seems to be good for production based systems.

Comment

August 4, 2014 Tina4 is refactored to a code based library

Tina4 working in a browser is difficult for other developers to work with and this is a big mind shift change. What is also missing is Routing. Came up with some ideas to make Tina4 a Manga themed framework, restructured the classes to be different girls, each one responsible for a different task. Ruth for routing, Debby for databases (Cross Database Engine), Cody for code and CRUD, Tessa for testing, Maggy for migrations. Olga for ORM.

https://tina4.com

Comment

May 5, 2014 Tina4 version 1.0.0 released

Tina4 version 1.0.0 targets PHP and is working with a web based editor so you change your code in the browser and then release versions. It has version control built into the system and makes use of a concept called interfaces to deliver different GUIs to the end user. It has taken close to 2 years to develop and is currently running 3 production systems. This version is not really package manager friendly and requires one to download and unzip the project on a windows machine to get started. Tina is like a "Laura Croft" of code, she needs to appeal to guys and girls a like.

Comment

March 4, 2011 Tina4 is born

Tina4 concept is born, a development tool that will allow you to plugin code and remove it without leaving behind debris. It will have a dashboard where the plugins will appear with and install. Tina4 stands for - This is not a framework. The 4 substitutes the F in Framework. Why Tina4 ? Things like CakePHP, Symfony are too opinionated and not easy to get up and running. Adding new code is difficult if you do not know the whole paradigm of each frame work. Coding should be about dropping in some code and getting it running quickly!

Comment

About

There is a lot of complexity and bloat in frameworks for various languages, Tina4 started as a way to reduce the learning curve and provide a stepping stone to other frameworks as a rapid prototyping environment.