Ftk : un toolkit pour simplifier la vie des développeurs Elixir

5

Le tout nouveau framework Ftk, à destination des développeurs d’applications Freebox (sous Elixir), a pour but de simplifier le codage sur cette plateforme réputée complexe.

C’est le cadeau de Noël de Lineplus à sa communauté de confrères développeurs. Ftk permet l’utilisation d’instructions plus claires et plus concises, et promet ainsi de réduire la quantité de code nécessaire de manière drastique (« jusqu’à 10x » par rapport à une application Elixir habituelle).

En guise d’exemple, voici le nombre de lignes qu’il est possible d’économiser pour un code informatique habituel, avec ou sans Ftk :

sans Ftk avec Ftk
elx.load('evas');
elx.load('ecore');
elx.load('ecore-evas');
ecore_init();
ecore_evas_init();
var evas = ecore_evas_new(null, 0, 0, 720, 480, '');
var surface = ecore_evas_get(evas);
evas_image_cache_set(surface, 10 * 1024 * 1024);
evas_font_path_prepend(surface, '/.fonts/');
evas_font_cache_set(surface, 512 * 1024);
ecore_evas_show(evas);
var background = evas_object_rectangle_add(surface);
evas_object_event_callback_add(background, EVAS_CALLBACK_KEY_UP, function() { ecore_main_loop_quit() }, null);
evas_object_move(background, 0, 0);
evas_object_resize(background, 720, 480);
evas_object_color_set(background, 255, 255, 255, 255);
evas_object_show(background);
var rectangle = evas_object_rectangle_add(surface);
evas_object_move(rectangle, 50, 50);
evas_object_resize(rectangle, 100, 100);
evas_object_color_set(rectangle, 0, 0, 0, 255);
evas_object_show(rectangle);
evas_object_focus_set(background, 1);
ecore_main_loop_begin();
elx.include('Ftk.js');
Rect({x: 50, y: 50, width: 100, height: 100, color: '000000'});
OnKey(Quit);
End();

Selon son auteur, les instructions gérées par Ftk permettent « d’afficher des images, des vidéos, du texte, quelques formes géométriques, de lire des fichiers et des dossiers, de récupérer et d’envoyer du contenu sur Internet, de gérer la télécommande (de la v5, bientôt de la v6), de lire et écrire dans des bases de données, de créer des animations »…

Bien entendu, cette innovation concerne avant tout les développeurs. Les utilisateurs pourraient cependant en percevoir l’impact sur le FreeStore si Ftk permet réellement de simplifier la création d’applications…

Pour plus d’informations à propos de Ftk (téléchargement, documentation…), rendez-vous sur son site officiel.

Merci à Lineplus !

Partager

A propos de l'auteur

[Responsable de la rédaction]
Sévit également sur Café Gaming et Point de vue social.

5 commentaires

  1. News intéressante qui permettra de se lancer peut-être dans le développement sur la Freebox simplement (plus ou moins). Une explication du développement avec FTK (en utilisant Elixir) jusqu'à la TV serait un plus ! Bravo au concepteur(s) du Framework en tout cas ! P.S. : Une petite coquille dans la news, le code correspondant au rectangle écrit avec FTK a été collé en bas de la première colonne (elixir natif).

  2. holala ça fait vraiment peur qu'il faille autant de code que cela sans ce toolkit pour faire une chose aussi simple - pour un peu ça laisserai penser qu'elixir est une mince surcouche au-dessus d'une base en assembleur... En tout cas bravo pour cette initiative (qui est d'ailleurs ce "Lineplus" ?) que Free ferait bien de soutenir. Car le nerf de la guerre pour ce genre de plateforme c'est de faciliter le développement logiciel. Si le framework est trop basique le temps à investir risque d'être rédhibitoire et cela aura un impact sur le développement de nouvelles applications. On se souvient dans l'histoire informatique proche que de nombreuses plateformes (comme la jaguar d'atari) ont buté justement en raison d'une couche logicielle de développement insuffisante. Il serait aussi intéressant que Free adopte une politique plus ouverte, avec par exemple une charte de bonne pratique, pour que des développeurs moins "institutionnels" puisse accéder à la couche en C de la freebox v6, afin de stimuler le développement de jeux et applis innovants.

  3. duschnouk a écrit :
    holala ça fait vraiment peur qu'il faille autant de code que cela sans ce toolkit pour faire une chose aussi simple
    C'est grosso modo équivalent à n'importe quel autre framework à ce niveau ; ce n'est pas parce que dans certains cas l'environnement de développement mâche le boulot qu'il n'y a pas un minimum de code nécessaire pour mettre en place le contexte de l'application. Au passage, même si Ftk apportera indéniablement une aide aux développeurs débutants, la comparaison entre Ftk et Elixir est un peu ... disons ... orientée : la plupart du code comparé représente du code 'fixe' qui est typiquement le fruit d'un copier/coller quand on utilise Elixir 'de base'. Surtout que dans le cas de Ftk, cela signifie avoir 'en dur' des valeurs (cache images, fontes, résolution du canvas, ...) qu'on ne pourra pas choisir explicitement avec Ftk. Une comparaison plus 'juste' serait par exemple de comparer l'instanciation d'un objet graphique: Elixir:
    vs Ftk:
    Rectx: 50, y: 50, width: 100, height: 100, color: '000000';
    Ou la définition de la fonction de callbakc pour quitter: Elixir:
    vs. Ftk:
    OnKey(Quit);
    Assembleur ... tout de suite les grands mots qui en l'occurrence n'ont absolument rien de comparable. Elixir est justement un binding au dessus d'un framework existant en C: les EFL. Si tu prends une librairie comme la (très connue) SDL par exemple, un simple "Hello World" demande pas mal de lignes de code également. A noter également qu'avant Ftk, il existait déjà depuis 10 mois une autre librairie (en GPL) qui propose grosso modo les même fontionnalités que Ftk dans sa version actuelle: Cauldron. L'avantage de Ftk étant principalement que Cauldron n'est plus maintenu par son auteur, contrairement -si j'ai bien compris- à Ftk qui a vocation à évoluer au fil du temps.
    Il serait aussi intéressant que Free adopte une politique plus ouverte, avec par exemple une charte de bonne pratique, pour que des développeurs moins "institutionnels" puisse accéder à la couche en C de la freebox v6
    Dans le monde des bisounours, ce serait possible ; dans le monde réel il est illusoire de croire qu'une simple charte protégerait efficacement la box contre à la fois les malveillances de développeurs et leurs négligences (volontaires ou non) face à l'exploitation de bugs dans leurs programmes.

  4. nouknouk a écrit :
    A noter également qu'avant Ftk, il existait déjà depuis 10 mois une autre librairie (en GPL) qui propose grosso modo les même fontionnalités que Ftk dans sa version actuelle: Cauldron. L'avantage de Ftk étant principalement que Cauldron n'est plus maintenu par son auteur, contrairement -si j'ai bien compris- à Ftk qui a vocation à évoluer au fil du temps.
    Ftk a plus de fonctionnalités que Cauldron, comme les animations simultanées, quelques effets visuels, la gestion des bases des données, les lignes, les polygones, les vidéos, les images, le support du JSON, des actions sur les fichiers, sur les dossiers, une gestion des reequêtes Web différente...
    nouknouk a écrit :
    cache images
    Je n'ai pas beaucoup étudié ça, je peux ajouter une fonction pour le modifier, si tu veux.
    nouknouk a écrit :
    fontes
    Toutes les polices présentes dans le dossier de l'application sont utilisables.
    nouknouk a écrit :
    résolution du canvas
    Fonction Size(width, height).

  5. Réagir sur le forum