After almost 4 months of work on Google Summer of Code 2017, finally I'm completing my proposal. Every widget migration and every commit/PR/issue/discussion with my mentors about Cricket , Toga and Rubicon-ObjC were detailed on the Issue 58.
Google Summer of Code 2017 is coming to an end. After three month of working on the BeeWare project, I would like to summarize my work and share my experiences.
Have you ever wanted to write a GUI application you can run on your
laptop? What about an app that you can run on your phone? Historically,
these have been difficult to achieve with Python, and impossible to
achieve without learning a different API for each platform. But no more.
BeeWare is a collection of tools and libraries that allows you to build
cross-platform native GUI applications in pure Python, targeting
desktop, mobile and web platforms. In this talk, you'll be introduced to
the BeeWare suite of tools and libraries, and see how you can use them
to develop, from scratch, a simple GUI application that can be deployed
as a standalone desktop application, a mobile phone application, and a
single page webapp - without making any changes to the application's
codebase.
Testing is a skill that is a vital part of every programmer's training. Learning how to write good tests helps you write more robust code, and ensures that when you've written code that works, it keeps working long into the future. It can also help you write better code in the first place. It turns out that well architected code, with high cohesion and low coupling, is also easy to test - so writing code that is easy to test will almost always result in better overall code quality.
We all know Python is a powerful and expressive programming language.
What you may not know is how much of the internals of Python itself is
exposed for you to use and manipulate.
In this talk, you'll be introduced to the tools and libraries Python
provides to manipulate the compilation and execution of Python code. You
will also see how you can use those tools to target execution
environments other than the CPython virtual machine.