Page 1 sur 2

Web-App : Hello World.

Publié : ven. 06/oct./2017 14:54
par falsam
Vos premiers pas avec SpiderBasic : Hello World.

Code : Tout sélectionner

Enumeration
  #mf  
EndEnumeration

OpenWindow(#mf, 0, 0, 800, 600, "Hello World", #PB_Window_ScreenCentered)
Le code généré ne sera pas de l'exécutable. Vous obtiendrez un fichier HTML associé à un fichier JavaScript. C'est vous qui déciderez du nom de ces deux fichiers.

:idea: Remarquez qu'il n'y a pas de boucle événementielle.

Pressez la touche F5 pour voir le résultat sur votre navigateur internet.

Paramétrer votre application.
Depuis l'IDE Menu Compiler - > Create App -> Onglet Web

Image

Renseigner les différents paramètres de l'applications sans oublier de copier les bibliothèques assurant le fonctionnement de SpiderBasic en cochant la case Copy Spider Libraries puis cliquer sur le bouton Create App

Comment faire pour que ça fonctionne chez un hébergeur ?
Votre application est prête. Utilisez votre logiciel ftp favori pour copier le tout sur votre serveur.

Re: Web-App : Hello World.

Publié : jeu. 28/juin/2018 18:53
par SPH
Ok, j'ai essayé et ca marche.

Petite question :
peut on gerer le degradé bleu derriere la fenetre ?
comment ouvrir une fenetre qqui a la meme largeur/hauteur que le navigateur ?

Voila ce que je demande pour l'instant 8)


ps : il faut bien un post de reference pour pouvoir dialoguer dedans. Jee choisis ton post.

Re: Web-App : Hello World.

Publié : jeu. 28/juin/2018 19:30
par Patrick88
comment ouvrir une fenetre qqui a la meme largeur/hauteur que le navigateur ?
je pense qu'il faut utiliser les fonctions qui gère le bureau "desktop" comme en purebasic

Code : Tout sélectionner

Enumeration
  #mf 
EndEnumeration

ExamineDesktops()

OpenWindow(#mf, 0, 0, DesktopWidth(0), DesktopHeight(0), "Hello World", #PB_Window_ScreenCentered)
pat

Re: Web-App : Hello World.

Publié : jeu. 28/juin/2018 19:50
par SPH
Bien joué pat 8)

pour le degradé, oubliez ca. Ce n'est pas derangeant.


Maintenant, comment ecrire un mot(par exemple 'accueil') qui se clique (comme les sites qui ont un menu) ?

Re: Web-App : Hello World.

Publié : ven. 29/juin/2018 0:24
par poshu
Dans le vrai monde des gens qui savent appuyer sur F1 pour afficher la doc (c'est efficace, vous devriez essayer), on peut découvrir une constante rigolote et la description qui va avec :
#PB_Window_Background : The window doesn't have a frame and is put in the web browser background. It can only have one window with the background flag opened at the same time. This window will be automatically resized when the web browser is resized.
Là, je chausse mes souliers de programmeur 8ème dan et je vous propose le code suivant :

Code : Tout sélectionner

OpenWindow(#PB_Any,0,9,0,0,"Le nom de la page ;3",#PB_Window_Background)
Fou, hein?

Re: Web-App : Hello World.

Publié : ven. 29/juin/2018 12:27
par Patrick88
dingue, bien vu !
après avoir posté, j'ai pensé à la constante #PB_Window_Maximize : Ouvre la fenêtre en mode maximisé.
mais elle n'existe pas en SpiderBasic

pis normalement sur un tatami on se déchausse... peut-être que les maitres 8ème dents () ont des facilités... :P

pat

Re: Web-App : Hello World.

Publié : ven. 29/juin/2018 15:35
par falsam
SPH a écrit :comment ecrire un mot(par exemple 'accueil') qui se clique (comme les sites qui ont un menu) ?
13 ans de PB pour toujours pas connaitre les gadgets de PureBasic. Tu m'épates SPH :mrgreen:

■ La solution : HyperLinkGadget() et comme le rappelle Poshu, positionner le curseur sur un mot réservé de PureBasic comme HyperLinkGadget() et presser la touche F1.

Un exemple de code pour le principe

Code : Tout sélectionner

Enumeration
  #H1
  
  #mf
  #mfLogo
EndEnumeration

;Sommaire du site
Declare onClick()

;Chargement de la police
LoadFont(#H1, "", 30)

;Fenetre en mode plein ecran
OpenWindow(#mf, 0, 0, 0, 0, "", #PB_Window_Background)

;Lien de ton logo
HyperLinkGadget(#mfLogo, 10, 10, 200, 50, "SPH Software", RGB(0,0,0))

;Style du logo 
SetGadgetFont(#mfLogo, FontID(#H1))

;Couleur du lien quand on clique
SetGadgetColor(#mfLogo, #PB_Gadget_FrontColor, RGB(0,0,0))

;Ou se branche t'on quand on clique sur le lien
BindGadgetEvent(#mfLogo, @onClick())

Procedure onClick()
  Debug "Clique sur le logo"
EndProcedure

Re: Web-App : Hello World.

Publié : ven. 29/juin/2018 15:43
par falsam
Un conseil, utiliser le mode procédural.

Code : Tout sélectionner

Enumeration
  #H1
  
  #mf
  #mfLogo
EndEnumeration

;Sommaire du site
Declare Start()
Declare onClick()


Start()

Procedure Start()
  ;Chargement de la police
  LoadFont(#H1, "", 30)
  
  ;Fenetre en mode plein ecran
  OpenWindow(#mf, 0, 0, 0, 0, "", #PB_Window_Background)
  
  ;Lien de ton logo
  HyperLinkGadget(#mfLogo, 10, 10, 200, 50, "SPH Software", RGB(0,0,0))
  
  ;Style du logo 
  SetGadgetFont(#mfLogo, FontID(#H1))
  
  ;Couleur du lien quand on clique
  SetGadgetColor(#mfLogo, #PB_Gadget_FrontColor, RGB(0,0,0))
  
  ;Ou se branche t'on quand on clique sur le lien
  BindGadgetEvent(#mfLogo, @onClick())
EndProcedure

Procedure onClick()
  Debug "Clique sur le logo"
EndProcedure

Re: Web-App : Hello World.

Publié : ven. 29/juin/2018 18:57
par poshu
Franchement falsam, je suis outré!
Tu réutilises mon incroyable code avec la constante #PB_Window_Background sans me créditer?! A ta place j'aurais honte!

Re: Web-App : Hello World.

Publié : ven. 29/juin/2018 19:08
par falsam
:oops:

Re: Web-App : Hello World.

Publié : mer. 04/juil./2018 15:42
par Crystal Noir
Hello l'ancienne compagnie et la nouvelle ^^
Halala ce Spiderbasic cela fait quelques temps qui me fait de l'oeil. Mais pour le moment je ne fais que consulter les forums et regarder un peu. Les temps sont durs côté dev. Il y a de plus en plus de possibilités ou d'outils avec chacun les "cons" et "pros". Et c'est pareil pour Purebasic.

SpiderBasic n'a pas l'air mal dans le sens où quand c'est compilé c'est du js clé en main et uploadable directement. En plus on peut faire du js inline. Le pb de SP et PB reste le même : le designer...d'un côté il y en a un mais ultra basique et de l'autre il y en a carrément pas (oui oui je sais il y a purevision mais je ne sais pas ce qu'il vaut). Le truc c'est que de nos jours, on a de moins en moins envie de s'amuser à designer un soft avec des lignes de code.

Aussi, certaines solutions proposent même des frameworks web embarqués pour avoir de zoli bouton et autres éléments de gui agréables (par ex B4J propose AbMaterial pour cela). Je ne sais pas si SpiderBasic peut avoir ou incorporé des éléments de gui modernes ? c'est une question que je me pose d'ailleurs.

Sinon l'idée me plait bien. Une appli web directement exécutable depuis le navigateur sur le net, c'est un peu l'avenir non ^^

Re: Web-App : Hello World.

Publié : mer. 04/juil./2018 15:49
par falsam
Crystal Noir a écrit : ... on a de moins en moins envie de s'amuser à designer un soft avec des lignes de code.
Pour des Web-Application, il est plus judicieux de ne pas utiliser les gadgets à positionnements fixes. La bibliothèque dialog est une bonne alternative.

Au fait : Welcome back Crystal Noir :wink:

Re: Web-App : Hello World.

Publié : mer. 04/juil./2018 15:54
par Crystal Noir
falsam a écrit :
Crystal Noir a écrit : ... on a de moins en moins envie de s'amuser à designer un soft avec des lignes de code.
Pour des Web-Application, il est plus judicieux de ne pas utiliser les gadgets à positionnements fixes. La bibliothèque dialog est une bonne alternative.

Au fait : Welcome back Crystal Noir :wink:
Merci :)

Oui mais il y a des solutions d'anchor et de variantes (pour les résolutions) qui permettent de faire du responsive notamment ^^ Même avec un designer :)

La bibliothèque dialog c'est la fameuse lib qui permet d'utiliser le design avec xml dans SPB ?

Je dois dire que j'ai regardé un peu mais j'ai pas trop pigé comment ca marche ^^ J'ai vu la démo "soccer online" dommage qu'il n'y ait pas plus de vitrine car il a pas l'air mal ce petit insecte ^^

Re: Web-App : Hello World.

Publié : mer. 04/juil./2018 18:02
par poshu
Mmmmmmh...
Comme d'hab : je pars du principe qu'on ne peut pas trouver quelque chose qui soit parfaitement adapté à ses besoins et qu'il faut bosser sur ses outils.

Par exemple, il y a quelques mois, j'ai fait une app de cuisine en SB; ça m'a pris une trentaine d'heures de travail, je suis parti de rien (je n'avais quasi aucune experience en JS non plus). Ca tourne sur android et iOS sans un pet, et c'était assez amusant à coder (... bon, par contre, j'ai la flemme de la remplir...) :

Image

C'est responsive, animé et tout ce qui va bien. Composé exclusivement de gadgets SB et d'un peu de JS inline pour customiser mes besoins.

En ce moment je commence à dev un jeu; j'en suis qu'au tout début (je tâtonne avec le canvas), mais c'est cool.

Après, y'a quelques bugs... Critiques dans SB; et il faut apprendre à bricoler autour. J'espère que Fred nous corrigera tout ça dans la prochaine version, quand il aura pu se poser tranquille à Paris.

Re: Web-App : Hello World.

Publié : mer. 04/juil./2018 18:08
par Crystal Noir
Pour ceux qui veulent apprendre le JS en s'amusant, le jeu Screeps est parfait. Un jeu où on construit une colonie (type RTS) uniquement en ligne de code js et cela tourne 24/24/7 sur leur serveur ^^

Je ne critique pas SB en fait je regarde un peu comment il est fait. Je me pose justement quelques questions comme la persistance de la bdd (voir mon post sur le sujet sqlite plus bas) ou sur la manière d'agencer son interface etc. J'ai regardé les exemples online mais ce sont comme ceux de purebasic, des exemples minimalistes donc après j'épluche un peu la doc.