Webapp to .exe (Help!)

MihiCherub

Well-known member
  • Sep 14, 2009
    19,062
    1
    9,933
    113
    Gampaha
    Use electronjs
    too old. lot of cons. try tauri.

    .exe ekakma one kiyanawa. mama Electron js eka balannam. Backend eka Flask yana nisa mama baluwe hari yanne nathi wei kiyala. Godak UI libraries (js) ehema damma ban. Electron eke awlak nathiwa JS libraries tika weda karai neda?
    tauri use karanna. electron set wenne na. leda godai
     

    miyuru4u

    Well-known member
  • Jan 18, 2007
    31,932
    10,516
    113
    In the eyes of my girl
    He don't want the app to be working as a Web app.
    .exe is the only solution


    .exe ekakma one kiyanawa. mama Electron js eka balannam. Backend eka Flask yana nisa mama baluwe hari yanne nathi wei kiyala. Godak UI libraries (js) ehema damma ban. Electron eke awlak nathiwa JS libraries tika weda karai neda?


    Deploy karana ekata case. .exe ekak widihatama one kiyanawa. Mama me widihata karanna convice karala balannam.


    Backend eka Flask eka awlak wenne nadda?


    How? using electron JS?


    IT anathayek detected


    Thanks


    Backend eka Flask, awlak wenne nadda?


    Machan backend eka Flask, mata patalila Nodejs kiwwe. Sorry. Flask backend eka thiyeddi electron js eken wade karanna puluwanda?
    • pywebview + PyInstaller
      React project එක ඇතුළේ npm run build ගහලා build එක ගන්න.
    • ඒ build output එක Flask project එක ඇතුළේ web කියලා folder එකකට copy කරන්න.
    • Flask එකේ React එක serve කරන්න: static_folder එකට web folder එක දාලා, API නැති ඕනෑම route එකකට index.html return කරන්න.
    • React එකේ backend calls තියෙනවා නම් http://localhost:5000 කියලා hardcode කරලා තියෙන ඒවා /api/... විදිහට relative කරන්න.
    • Flask එකේ app.run() අයින් කරන්න. Database එක තියෙනවා නම් ඒකේ path එක install වෙන folder එකේ නැතිව %APPDATA%\MyApp\ වලට දාන්න.
    • මේ packages ටික install කරන්න:
      pip install flask pywebview pyinstaller
    • desktop.py කියලා file එකක් හදන්න. ඒකෙන් කරන්න ඕනේ: free port එකක් auto අරගෙන Flask එක වෙනම thread එකක start කරන එක, Flask ready වුණාම pywebview window එකෙන් http://127.0.0.1:<port> open කරන එක, window එක වැහුවාම Flask එකත් shutdown කරන එක.
    • Test කරන්න: python desktop.py — window එකක් ඇවිත් app එක පෙන්නන්න ඕනේ.
    • Exe එක හදන්න මේ command එක ගහන්න:
      pyinstaller --noconsole --onedir --name MyApp --add-data "web;web" desktop.py
    • dist\MyApp\MyApp.exe එක test කරන්න. වැඩ නම් ඒ dist\MyApp folder එකම යාළුවාට යවන්න පුළුවන්.
    • ඕනේ නම් විතරක්: ඒ folder එක Inno Setup වලින් Setup.exe එකක් කරන්න