Ecrire une application iOS en Basic

Christophe Laporte |
La décision d'Apple d'assouplir ses clauses concernant le développement sur iOS, suscite beaucoup de réactions. À son tour, REAL Software revient sur cette annonce. L'éditeur qui indique avoir beaucoup discuté avec Apple, pense très sérieusement à ajouter la prise en charge d'iOS à son environnement de développement en Basic.

C'est actuellement la fonctionnalité la plus demandée et de loin par les utilisateurs de REAL Studio. Les nouvelles clauses d'Apple rendent la chose possible. Reste maintenant à l'éditeur à faire sauter quelques contraintes techniques. REAL Software travaille notamment à la prise en charge du compilateur LLVM, lequel gère les architectures ARM. C'est un premier pas…
avatar Florent Morin | 

RealBasic : comment faire des programmes immondes.

avatar codeX | 

@FloMo
Qu'est-ce qu'ils ont de plus ou de moins immonde que les programmes écrits avec d'autres environnements ? Merci

avatar itralala | 

@FloMo : pour avoir testé, certes, c'est moins joli qu'en Cocoa pure couche. Mais de là à qualifier d'immonde... C'est un peu fort de bouchon.

Je plussoie quand même dans l'assouplissement des règles qui permet à des développeurs de tous bords de venir faire un tour sur MacOS.

avatar curly bear | 

@FloMo : Comment écrire un commentaire stupide

Les softs que je développe sous RealBASIC ont une interface native et je pense qu'il y a peu d'utilisateur qui savent comment je les ai développés. Et encore moins que ça intéresse. A mon sens, ce sont plutôt les softs en Java qui soufre d'une interface non native pas toujours très élégante.
Je pense qu'il est grand temps d'arrêter la réaction automatique "BASIC- Pas bien". Le BASIC de RealBASIC est bien loin de celui de nos AMSTRAD et autres Z80. Bien sûr, il n'est pas parfait (mais quel langage peut prétendre l'être), mais c'est une architecture de développement multi-plateforme très solide.

avatar Hindifarai | 

Les programmes qui en résultent ne sont pas immondes (bien qu'il faudrait vérifier ce qui ressort de leur compilo). Mais l'outil met en avant des "features" on ne peut plus classiques pour justifier du coût de la suite. C'est le marketing autour de real software qui est immonde.

@ curly bear
Pour l'interface native il y a swt en java tout de même. Je vous accorde que ce n'est pas très abouti sur macosx, enfin c'est Cupertino qui développe la jvm pour osx, je vous laisse deviner d'où vient la faute

avatar curly bear | 

@Hindifarai
Je ne suis pas développeur Java alors je me rends bien compte que je n'ai pas une vue très complète de ce qui existe. Je parle dans ce cas comme utilisateur. On reconnait instantanément un soft qui a été développé en Java. Ce n'est pas vrai pour un soft en RealBASIC, ni dans sa version Mac , ni dans sa version Windows.
Après, on peut développer des interfaces immondes dans n'importe quel langage.

avatar Freitag | 

REAL Software a annoncé REAL Studio Web Edition :
[url]http://www.realsoftware.com/web/features.php[/url]
Ça s'annonce très intéressant.

avatar pecos | 

C'est pas seulement une question d'interface : personnellement, en tant que dev cocoa touch, je comprends très bien l'intérêt pour certains de développer en basic, en gros :
- développer une seul appli pour plusieurs plates formes
- ne pas réapprendre un langage (faussement) complexe comme objective C.

Mais qu'ils ne s'y trompent pas : le seul moyen pour obtenir un code super optimisé pour l'iPhone est de développer directement en cocoa / objective C.
Les applis faites autrement vont fonctionner, mais il est impossible à un framework plus ou moins généraliste et pas prévu au départ pour gérer toutes les subtilités de structures d'un soft et d'un langage de prévoir à l'avance tous les petits goulets d'étranglement qui ne vont pas manquer de se présenter.

Ça fonctionnera donc que pour des projets pas trop exigeants en terme de nombre de ressource ou de performance.
Les autres...

avatar Nicky Larson | 

lol, marrant de voir tous les petits programmeurs RealBasic vexé par le premier commentaire.

avatar Hindifarai | 

@ curly bear
[quote]On reconnait instantanément un soft qui a été développé en Java.[/quote]
C'est une idée reçue. Vous pouvez faire du awt, swt, swing, Qt, gtk...le tout en java (cocoa/carbon il y a quelques années).
Les programmes que vous reconnaissez sont en awt(très moches et très vieux, quasiment plus utilisé du tout) et swt pour les mauvaises implémentations (voir du côté de cupertino). Pour le reste ce sont des libs ou frameworks classiques, donc je vous félicite si vous reconnaissez une différence.

avatar codeX | 

Et peut-on savoir avec quoi le [b]grand[/b] Nicky Larson développe et s'il lui serait possible de nous indiquer/montrer l'une de ses réalisations ?

avatar Zed-K | 

@ codeX :
Il fait du WinDev =D

avatar curly bear | 

@Nicky Larson
Ah, le mot est lâché "petit".
Je ne suis pas un developpeur pro, c'est une certitude. Et sans doute bien petit. Je développais en assembleur Z80 quand j'étais jeune, mais c'est il y a bien longtemps. Dpuis, je n'ai plus beaucoup de temps.
N'empêche, un des mes softs est téléchargé environ 1000 fois par mois depuis 3 ans et est utilisé par 25000 personnes chaque mois dans le monde entier. J'en suis très fier d'autant que je connais beaucoup de mes collègues dans le monde qui l'utilisent sabs savoir que je l'ai développé. Bref, le commentaire de FloMo ne me vexe pas. Je le trouve juste ridicule.

@Hindifarai
De nouveau je parlais en tant qu'utulisateir de softs excellents et multiplateforme comme ImageJ par exemple mais dont l'interface n'est pas très "Mac"

avatar liocec | 

@ curly bear :
Quel software, que l'on puisse essayer...(sans vouloir casser)

avatar bugman | 

10 Mode 0
20 Print "@ curly bear : Il était loin d'être pourri le basic des CPC !"
30 Call &bb18 : Call 0

Run

avatar curly bear | 

@Liocec
J'espère que tu es versé dans la biologie moléculaire… C'est Serial Cloner.

@bugman
oui. C'était pour l'époque un excellent BASIC. Et en plus, comme la machine s'allumait sous BASIC et ne faisait rien d'autre, ben, c'était tentant de la programmer un peu...

avatar liocec | 

@ curly bear :
Ouah...c'est vraiment pour des initiés !
Mais l'application est sympa, preuve que le basic permet de faire de belles choses.

avatar mtbris | 

Je pense que Apple est en train de faire de l'ouverture a la française. Et a ce jeu les nouveaux venus ne sont pas bien intégrés.

avatar BeePotato | 

@ Hindifarai : « Les programmes que vous reconnaissez sont en awt(très moches et très vieux, quasiment plus utilisé du tout) et swt pour les mauvaises implémentations (voir du côté de cupertino). Pour le reste ce sont des libs ou frameworks classiques, donc je vous félicite si vous reconnaissez une différence. »

La plupart des programmes développés avec Swing se reconnaissent aussi du premier coup d’œil (ou au moins du second), plus encore sur Mac OS.

avatar Nicky Larson | 

[quote]je comprends très bien l'intérêt pour certains de développer en basic, en gros :
- développer une seul appli pour plusieurs plates formes
- ne pas réapprendre un langage (faussement) complexe comme objective C.[/quote]
Oui, on comprends bien la raison: la fainéantise...

avatar curly bear | 

@Nicky Larson

...

avatar Zed-K | 

[quote=Nicky Larson]Oui, on comprends bien la raison: la fainéantise...[/quote]
Ou les contraintes imposées par ton employeur, ton client, ou ta vie sociale si tu développe sur ton temps libre.

Dans un monde parfait je ne peux être plus d'accord avec toi, tout code devrait être natif et développé en utilisant les langages et frameworks recommandés par l'OS ciblé.

Dans la pratique c'est malheureusement loin d'être aussi simple ; quand bien même la logique de ton code reste la même, encore faut-il avoir le temps et les effectifs nécessaires pour en effectuer le portage et le suivi sur chaque plateforme.

Le travail effectué par Mozilla sur Firefox pour prendre en compte les particularités de chaque OS est remarquable, mais pas à la portée de n'importe quelle PME ou indépendant qui souhaite cibler plusieurs plateformes, et qui ne dispose pas du temps et/ou des ressources nécessaire pour apprendre à utiliser [i]n[/i] langages/frameworks/IDE différents.

avatar Zed-K | 

(Et puis sans chercher à troller, la fainéantise on la retrouve également dans les portages Windows d'iTunes ou QuickTime hein. C'est pas du Java, c'est pas du Basic, mais ce qui est sûr c'est que c'est tout bonnement affligeant en terme de performances.)

avatar Florent Morin | 

Je parle par expérience.
Ok, sur Mac, ça ressemble à du Mac OS X. Par contre, niveau performances et structure, c'est limite du Java.
Pour l'aspect multiplateformes, sous Linux, c'est horrible. Très loin de Qt pour ne citer que lui.

avatar rva1mac | 

Çe serait bien le retour du Basic dans les systèmes actuels.
Le C qu'il soit ++(mieux lol) ou objective, on pourra dire ce qu'on veut mais c'est tout sauf intuitif. D'ailleurs, au passage, les Basic modernes sont de moins en moins intuitifs et c'est dommage.

avatar Nicky Larson | 

@Zed-K
Je comprends ton point de vue, mais j'aurais plus pris chrome comme exemple plutôt que Firefox qui n'est pas terrible sur mac ;)

avatar Nicky Larson | 

[quote]Çe serait bien le retour du Basic dans les systèmes actuels.
Le C qu'il soit ++(mieux lol) ou objective, on pourra dire ce qu'on veut mais c'est tout sauf intuitif. D'ailleurs, au passage, les Basic modernes sont de moins en moins intuitifs et c'est dommage.[/quote]
ok super, donc nivellement par le bas. comme certaines personnes ne trouvent pas ça intuitif, on va arrêter d'avancer et se limiter au niveau du plus mauvais ...

D'ailleurs, je ne vois pas en quoi le C et Objective-C ne sont pas intuitif. Ils font parti des langages les plus compréhensible et puissant.

avatar Emile Schwarz | 

>FloMo

L'art et la manière de parler d'un produit que l'on ne connaît pas…

Le bon artisan fait du bon travail avec ses outils (même lorsqu'ils sont mauvais; mais un bon artisan utilise de bons outils)!

avatar Emile Schwarz | 

>Nicky Larson
Si cela ne te plait pas, ne l'utilise pas…

Combien de temps est-il nécessaire pour créer une fenêtre dans ton environnement de développement (toi, lecteur) et combien de temps en REAL Studio ?

Et comme quelqu'un l'a déjà écrit: si tu est obligé (ton employeur, client, temps dédié au développement, connaissances - quoique dans ce cas…-), tu utilises l'environnement de développement approprié.

As-tu, lecteur, essayé Eclipse ? Fantastique, n'est il point ? Plusieurs années lumières en avant (devant) REAL Studio! Oui, mais quel est le temps de prise en main de ce logiciel (IDE) ?

Pour les petites choses, j'utilise AppleScript. Booo! diraient vous ?

avatar Nicky Larson | 

[quote]Nicky Larson
Si cela ne te plait pas, ne l'utilise pas…

Combien de temps est-il nécessaire pour créer une fenêtre dans ton environnement de développement (toi, lecteur) et combien de temps en REAL Studio ?

Et comme quelqu'un l'a déjà écrit: si tu est obligé (ton employeur, client, temps dédié au développement, connaissances - quoique dans ce cas…-), tu utilises l'environnement de développement approprié.

As-tu, lecteur, essayé Eclipse ? Fantastique, n'est il point ? Plusieurs années lumières en avant (devant) REAL Studio! Oui, mais quel est le temps de prise en main de ce logiciel (IDE) ?

Pour les petites choses, j'utilise AppleScript. Booo! diraient vous ?[/quote]
AppleScript, c'est très bien pour ce à quoi sa sert, le scripting.

Pour créer une fenêtre dans mon IDE (Xcode), ça me prends approximativement 10 secondes...

Après, j'ai jamais dit qu'Eclipse mails il a au moins l'avantage de gérer un paquet de langages pour lui (ruby, python, perl, C, C++, etc ...).

Et non, je n'utilise pas RealBasic bien qu'ayant déjà testé.

avatar Schipoutz | 

Personnellement je suis un laïc du développement informatique.
Moi aussi j'ai développé en assembleur Z80 & 6502 puis en BASIC Applesoft sur ][+ et ][e et même sur LYNX de Camputers où j'ai porté un simulateur de vol en IFR en mode texte issu d'une revue informatique de l'époque (dont j'ai oublié le nom) et avec lequel j'ai beaucoup joué. Puis plus tard j'ai utilisé le C/C++ avec CodeWarrior sur Macintosh. Et puis Visual Basic sur Windows 3.11. Laïc je vous dis..
Maintenant, j'utilise REAL Studio depuis la version 2.1 il y a plus de dix ans. Et j'en suis très content. Dire que REALbasic n'utilise pas les API natives est une ineptie. La plupart des contrôles sont natifs dans la plate-forme de destination. En gros c'est comme si j'utilisais mon propre framework juste au dessus de l'API native. Sauf que ce sont d'autres gens qui l'ont mis au point. C'est un peu le framework PowerPlant de CodeWarrior. Par contre, contrairement à ce dernier, c'est vrai que ça me donne beaucoup moins de contrôle dessus. Mais il me convient parfaitement en l'état.
Ça n'a jamais gêné personne qu'Adobe ou Microsoft ( Et que dire des logiciels Avid/Digidesign pour les connaisseurs ) utilise un minimum très restreint de contrôles natifs et développe la plupart des leurs dans un framework propriétaire commun à leur suite logicielle.
Il y a peut-être de très mauvais langage de programmation, mais REALbasic n'en fait pas partie. Il a ses défauts, comme tout les autres langages, mais c'est un basic très moderne, orienté objet, qui n'a plus grand chose à voir avec le BASIC des ZX81, C64, Amstrad et j'en passe. Des bugs, aussi mais comme dans tout système/logiciel/language/compilateur. Et puis, on toujours accés aux APIS en direct avec les Declare.
En résumé, si j'ai finalement choisi REAL Studio, c'est pour éviter de mettre les mains dans le cambouis et me concentrer sur les fonctionnalisé de mes applis et bientôt mes Web applications. Pour le cambouis, j'ai assez de mes pièges à 2-roues... :-)

avatar bugman | 

Pour les nostalgiques : En tout cas, si vous voulez un bon basic (rapide) parfait pour faire quelques petits jeux 2D (entres autres), je vous propose d'essayer PureBasic.

avatar poco | 

Real Basic est un TRES bon produit.

Même si celà embête certains, il permet de faire en multi-plateforme des projets vachement sympas.

Qu'importe les moyens du moment que l'objectif soit atteint? Doit-on attendre d'être agrégé en Anglais Litéraire pour passer ses vacences en Angleterre et tenter de parler avec des Anglais?

Le même débat débile existe entre filemaker et 4D. Des "puristes" de la base de données, considère que filemaker est une daube pour débutants pour faire un répertoire de recettes de cusine et que, ormis 4D point de salut...

Bonjour l'ouverture d'esprit.

Chaque projet est à remettre dans son contexte. On n'utilise pas un bulldozer pour planter des tomates dans son jardin. Alors pourquoi utiliser du C ou Objective-C pour faire une gestion de contacts? De même irait-on raisonablement utiliser un Basic ou Applescript pour faire un clone de Photoshop?

Moi je dis qu'il faut imposer l'Assembleur à tout développeur! (hein, Nick Larsson?)

avatar Nicky Larson | 

@ Schipoutz
En quoi t'es un laic du logiciel ?

[quote]Moi je dis qu'il faut imposer l'Assembleur à tout développeur! (hein, Nick Larsson?)[/quote]
Fais ce que tu veux je m'en tape. Tout ce que je sais c'est qu'une appli iOs Native sera toujours supérieur à une appli realBasic.

en natif tu peux tirer directement partie des améliorations d'Apple, en realbasic, ben juste t'attends qu'ils rattrapent leur retard si jamais ils le font ...

Quand iOS 5 sortira avec les dernières technos, un type qui programme en RealBasic aura une appli qui aura le feeling d'une vieille appli, le mec qui connaitra parfaitement les framework Apple aura un et avantage.

Bref, fait ce que vous voulez, je m'en tape, mais le RealBasic porte bien son nom, ça reste ... basique.

avatar Seccotine | 

@ curly bear

J'ai chargé ton application SerialClone 2-1 pour tester.

Je ne remet en rien en cause la puissance et l'utilité, surtout que je n'y connais absolument rien dans le domaine dans lequel il est utilisé. Par contre je suis désolé, mais ça se voit TOUT de suite que l'interface n'est en rien Mac OS X, à part pour les coups de peinture.

avatar rva1mac | 

[quote=Nicky Larson]ok super, donc nivellement par le bas. comme certaines personnes ne trouvent pas ça intuitif, on va arrêter d'avancer et se limiter au niveau du plus mauvais ...[/quote]
Je trouve que ce serait bien que le Basic soit inclut avec le système car c'est le plus adapté pour une utilisation de base ou pour l'apprentissage. Le Basic permet aussi de faire tout un tas de petites applications pratiques qui manquent tant à Mac OS X assez "facilement". Et ça permet même de faire des programmes assez évolués avec de l'imagination.

En quoi, cela serait un nivellement par le bas ? Et un nivellement de quoi ou de qui ?

CONNEXION UTILISATEUR