Git Product home page Git Product logo

Comments (5)

freakboy3742 avatar freakboy3742 commented on August 28, 2024

Thanks for the report. Toga on Windows is fairly primitive - it hasn't got all the widgets necessary to handle the full toga-demo - so you haven't done anything wrong here. Windows is an area that I accept as important, but it's lower on my personal list of immediate priorities; if anyone is motivated to work on Windows support, especially if they have expertise on native Windows APIs, I'd deeply appreciate the help.

from toga.

whmcdonaldiii avatar whmcdonaldiii commented on August 28, 2024

I'm kind of a noob programmer but I like to tinker around. One of my goals is to help the user experience of Python on Windows. That said, I am a noob (maybe more like a higher level noob). If anyone can point me in a good direction for learning Windows APIs, I'll gladly do the footwork and begin contributing the best I can. Thanks ahead of time.

from toga.

freakboy3742 avatar freakboy3742 commented on August 28, 2024

@ginoskotheon If you're in a position to help out, that would be amazing!

Unfortunately, I don't know where to point you for learning Windows APIs; I haven't used Windows in any serious capacity for many years now.

I've got two suggestions for getting started - both from a "here's a goal" perspective. If you can get to that goal, I can point

  1. Implement Toga tutorial 0 (and maybe tutorial 1). Do this in several phases:
    a. Implement the app using a completely native Windows API and language.
    b. Extend that app in such a way that it exposes a raw C API.
    c. Implement the app using Python ctypes invoking that C API.
  2. Work out what wrapping is necessary to distribute this windows app as an installable app that behaves the same way that a normal Windows app works.

For point (1), I'm assuming that having a C API invoked over ctypes will be the easiest way to invoke a C# API; however, that may not be the case. Essentially, the task here is to investigate, and see what works and what doesn't. The only goal I have is that the end-user must have a 0 compilation install path. It doesn't matter if the developer needs to compile something, as long as it can be wrapped up as a wheel and distributed as a binary that Just Works(tm).

For (2), see [pybee/Python-macOS-template] for an example for what I mean in a macOS context; I'm looking for the analog of that for windows, which may involve writing an installer script of some kind. I'm assuming WiX or NSIS will be needed here.

from toga.

whmcdonaldiii avatar whmcdonaldiii commented on August 28, 2024

@freakboy3742 Thanks for the response and the guidance. Exactly what I needed. I will begin putting in the time and thought. It will take me a while, probably. But I'm really pumped to help in anyway I can. And if anyone out there is better at this than I am, I would love to collaborate.

from toga.

freakboy3742 avatar freakboy3742 commented on August 28, 2024

Closing this ticket in favour of general improvement on toga-win32/toga-winrt

from toga.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.