Web-App : Hello World.

Partagez votre expérience de SpiderBasic avec les autres utilisateurs.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Web-App : Hello World.

Message 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.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
SPH
Messages : 4720
Inscription : mer. 09/nov./2005 9:53

Re: Web-App : Hello World.

Message 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.
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Web-App : Hello World.

Message 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
Avatar de l’utilisateur
SPH
Messages : 4720
Inscription : mer. 09/nov./2005 9:53

Re: Web-App : Hello World.

Message 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) ?
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Re: Web-App : Hello World.

Message 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?
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Web-App : Hello World.

Message 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
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Web-App : Hello World.

Message 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
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Web-App : Hello World.

Message 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
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Re: Web-App : Hello World.

Message 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!
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Web-App : Hello World.

Message par falsam »

:oops:
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Crystal Noir
Messages : 891
Inscription : mar. 27/janv./2004 10:07

Re: Web-App : Hello World.

Message 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 ^^
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Web-App : Hello World.

Message 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:
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Crystal Noir
Messages : 891
Inscription : mar. 27/janv./2004 10:07

Re: Web-App : Hello World.

Message 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 ^^
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Re: Web-App : Hello World.

Message 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.
Avatar de l’utilisateur
Crystal Noir
Messages : 891
Inscription : mar. 27/janv./2004 10:07

Re: Web-App : Hello World.

Message 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.
Répondre