1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
=========
Rationale
=========
This document defines the rationale of the project. It also explains the
philosophy behind it, which shapes the path it follows and justifies the
choices it takes.
Why it started
==============
The most popular free (as in freedom) window toolkits outside of Microsoft
Windows and Apple's MacOS are, most probably, GTK and Qt. Such toolkits
fundamentally work, that is, they provide a user-friendly interface between
humans and computers that allows its users to better understand the general
functioning of a program.
Despite that, they are more complex than they need to be and are bundled with
too many secondary libraries which have nothing to do with graphical user
interfaces. The former issue, although it could be caused by their versatility
and wide range of features, is itself asource of trouble for both the
programmers and the users. Complex libraries are a hassle to maintain and
improve on the programmer's side, and a hassle to understand and use on the
user's side. The latter issue is just nonsense to me, although this could in
theory ease cross-platform development, but I see it as a huge downside put in
place to gain a little upside.
Femtokit was born as an alternative to these advanced, somewhat comfortable to
use, aesthetically pleasant, and very common user interface toolkits. It has a
straightforward code base which implements simple theoretical concepts and
demonstrates that there is no need for a bleeding edge abstraction when a few
more functions and data structures do the job, just like there is no need for a
swiss army knife when a pair of scissors do the job.
|