-
-
Notifications
You must be signed in to change notification settings - Fork 727
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update the BeeWare website - WIP #578
base: lektor
Are you sure you want to change the base?
Changes from 5 commits
9ddf2ca
24517ed
93fc294
ea4e70a
830b7fb
48c9d9c
f4ed371
a4d8f88
85b64cf
2f5615b
46cecc5
533463a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -156,7 +156,7 @@ | |
} | ||
|
||
.navbar-collapse { | ||
background: #000; | ||
background-color: #343a40; | ||
padding-top: 0.75em; | ||
} | ||
|
||
|
@@ -353,6 +353,22 @@ blockquote { | |
position: relative; | ||
} | ||
|
||
ul.dark-menu { | ||
background-color: #343a40 !important; | ||
padding: 7px 12px 2px 12px !important; | ||
min-width: max-content; | ||
border-radius: 10px; | ||
border: 2px solid #777777; | ||
} | ||
|
||
ul.dark-menu .nav-link { | ||
padding: 0 !important; | ||
} | ||
|
||
ul.dark-menu .nav-item { | ||
padding: 5px 0 5px 0 !important; | ||
} | ||
|
||
/*---------------------------------------------------- | ||
Homepage styles | ||
--------------------------------------------------- */ | ||
|
@@ -369,6 +385,33 @@ blockquote { | |
margin: 2rem 0; | ||
} | ||
|
||
/*---------------------------------------------------- | ||
Project Showcase and Important Category Styles | ||
--------------------------------------------------- */ | ||
.showcase { | ||
margin: 2vh; | ||
font-size: larger; | ||
} | ||
|
||
.important-category { | ||
margin: 2vh; | ||
padding-bottom: 1rem; | ||
} | ||
|
||
.important-title { | ||
text-decoration-line: underline; | ||
text-underline-offset: 10px; | ||
text-decoration-thickness: 2px; | ||
text-decoration-color: #CCCCCC; | ||
} | ||
|
||
.important-description { | ||
margin-bottom: 1.2rem; | ||
} | ||
|
||
.important-projects { | ||
padding-left: 1rem; | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not wild about the use of background colours here - it feels really busy, and the box layout doesn't seem to scale well to phone-sized layouts. I wonder if it might be better to stick to a single column with icons on the side, but with bigger icons for the "featured" apps. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I updated the page to match this concept. I'll be pushing that update shortly. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For what it's worth, the background colors were solely for me to differentiate the divs so I knew where everything ended up. They were not necessarily destined for the final product. |
||
|
||
/*---------------------------------------------------- | ||
Sticky footer styles | ||
|
@@ -479,6 +522,7 @@ body { | |
|
||
.project img { | ||
margin-bottom: 2rem; | ||
float: left; | ||
} | ||
|
||
/*---------------------------------------------------- | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
_model: page | ||
--- | ||
title: About BeeWare | ||
--- | ||
summary: The history and philosophy of the BeeWare Project | ||
--- | ||
sort_key: 5 | ||
--- | ||
body: | ||
|
||
|
||
BeeWare: The IDEs of Python | ||
=========================== | ||
|
||
This is BeeWare. We're incredibly excited about what the future holds for Python. We hope you'll join us on this journey. | ||
|
||
|
||
--- | ||
gutter: | ||
|
||
Meet Brutus | ||
=========== | ||
.. image:: /static/images/brutus-128.png | ||
|
||
Brutus the Bee is the mascot of the BeeWare project. He's a busy little worker bee. | ||
|
||
Fun fact: a person who keeps bees is called an **apiarist** - a name that the BeeWare project uses to describe the core team. This also reflects the relationship that the core team wishes to have with the community - we're shepherds of the community, and we'll provide direction, but we know the real work is done by the community as a whole. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
_model: page | ||
--- | ||
title: Goals | ||
--- | ||
summary: The goals of the BeeWare Project | ||
--- | ||
sort_key: 5 | ||
--- | ||
body: | ||
|
||
|
||
The goal | ||
======== | ||
|
||
The end goal of the BeeWare project: To be able to do for mobile and desktop user-facing software the same thing that Django has done for web software - to put into the hands of users a set of tools and libraries that enables them to develop rich, native user interfaces, and deploy them to their devices. This includes: | ||
|
||
* Tools to enable Python to run on different devices, | ||
* Tools to package a Python project so it can run on those devices, | ||
* Libraries to access the native widgets and capabilities of devices, | ||
* Tools to help develop, debug, analyze and these projects. | ||
|
||
This aim is that this set of tools will be easy enough to use for complete newcomers to use in a Django Girls-like setting; but powerful enough that they could be used to drive the next Instagram, Pinterest or Disqus. | ||
|
||
Most importantly, it aims to do all this as an Open Source community. The Open Source development process has proven itself to be the most reliable way to develop robust and reliable software, and the fact that anyone can access the software means that everyone can start with the same set of excellent tools, be they expert or enthusiastic amateur. | ||
|
||
Python everywhere | ||
~~~~~~~~~~~~~~~~~ | ||
|
||
A modern computing project can't ignore the biggest development in computing of the last 10 years. Python prides itself on being a cross-platform language. 10 years ago, being cross-platform meant being available for Windows, macOS and Linux. These days, mobile computing is much more important. Despite this, there aren't many good options for Python programming on mobile platforms, and cross-platform mobile coding is still elusive. | ||
|
||
BeeWare embraces mobile and other emerging platforms (like watches and set-top-boxes) as a first class citizen of the computing ecosystem - because if people have these devices, why shouldn't they be able to write software for them in Python. | ||
|
||
Native everywhere | ||
~~~~~~~~~~~~~~~~~~ | ||
|
||
It's easy to use themes to achieve cross-platform. However, it's easy to spot apps that have been built using themes - they're the ones that don't behave quite like any other app. Widgets don't look *quite* right, or there's a menu bar on a window in an OS X app. Themes can get quite close - but there are always telltale signs. | ||
|
||
On top of that, native widgets are always faster than a themed generic widget. After all, you're using native system capability that has been tuned and optimized, not a drawing engine that's been layered on top of a generic widget. | ||
|
||
Themes also miss many of the accessibility benefits of native platforms. Modern OS authors spend a lot of time tuning affordances for people with impaired mobility, vision or cognition. If you use native widgets, you usually get these affordances for free. If you reimplement widgets with a theme, you also have to re-implement the affordances. | ||
|
||
BeeWare uses native widgets and native functionality, rather than using a theme-based approach to application development. | ||
|
||
Python native | ||
~~~~~~~~~~~~~ | ||
|
||
BeeWare is also an unapologetically "Python first" framework. We like Python. We like the way it looks, and the way it works. If Python isn't available as a first-class option on a particular platform, we'll do whatever is necessary to make Python available as a development language. And when we have the opportunity to embrace Python idiom for an API or a design, we're going to do just that. That means we're going to use generators, context managers, `yield from` asynchronous calls, and more, in order to provide the best Python-native API for cross-platform app development. | ||
|
||
We're also looking to the future - this means that we support Python 3 exclusively. | ||
|
||
Native experience | ||
~~~~~~~~~~~~~~~~~ | ||
|
||
The experience of using any tool starts with the installation process. Part of BeeWare's "Native everywhere" philosophy is adopting appropriate native mechanisms for installation. If you're using a user-space tool, it should be presented to you as a package that is to be installed in the same way you would install any other tool - be that through an app store, an installer, or a simple executable package. End users shouldn't know that you've written the application in Python. | ||
|
||
But if you're using a developer tool or library, then it should integrate with your development environment. And since we're using Python, that means you should be able to install it into your virtual environment using `pip install` and nothing more. No C-extensions, no compilers, no setting system paths or environment variables - Just install it, import it, and start writing (or running) code. | ||
|
||
--- | ||
gutter: | ||
|
||
* `The Goal`_ | ||
- `Python everywhere`_ | ||
- `Native everywhere`_ | ||
- `Python native`_ | ||
- `Native experience`_ | ||
|
||
|
||
.. _`The Goal`: ./#the-goal | ||
.. _`Python everywhere`: ./#python-everywhere | ||
.. _`Native everywhere`: ./#native-everywhere | ||
.. _`Python native`: ./#python-native | ||
.. _`Native experience`: ./#native-experience | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
_model: page | ||
--- | ||
title: History and Philosophy | ||
--- | ||
summary: The history and philosophy of the BeeWare Project | ||
--- | ||
sort_key: 5 | ||
--- | ||
body: | ||
|
||
History | ||
======= | ||
|
||
The BeeWare project started with a simple question: Why aren't the tools that we use as Python developers improving at the same rate as the rest of the technology we use on a daily basis? | ||
|
||
Python has proven itself as a highly capable language - approachable for newcomers, but powerful in the hands of experts. Python is rapidly becoming a major part of the data analysis, scientific computing, and web development landscape. And initiatives like `Django Girls`_ have demonstrated that using Python, it is possible to provide a 1-day training courses that introducing people with no programming experience to Python; and at the end of a day, attendees have developed and deployed a database-backed dynamic website, deployed to a publicly visible server. | ||
|
||
.. _Django Girls: https://djangogirls.org/ | ||
|
||
However, the developer experience for someone writing Python sometimes reflects more of the early 90's than the new millennium. The default development environment for Python is still an 80x25 console window. For users who have come from a Windows or Apple environment, where they're used to highly detailed, well designed graphical interfaces, this 30 year flashback can be a completely alien experience. | ||
|
||
And, yes, there are IDEs (Integrated Development Environments) that provide a native application experience for writing code. But those tools require you to adopt, wholesale, the IDE's way of looking at a project. They often introduce as many headaches to the development process as they solve. | ||
|
||
And so, we're left with an interesting schism, between the "old way" of Unix development in a console window, and the "new way" of all-in-one IDEs. | ||
|
||
The Unix Philosophy | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
However, it doesn't have to be that way. The core tenet of the Unix Philosophy is that "each tool does one thing, well". This is a very powerful philosophy, and it enables the composition of extremely powerful toolchains by putting together a suite of extremely focussed, independent tools. | ||
|
||
Unfortunately, most UNIX tools have convolved this to also mean "all tools must use a console interface". However, there's nothing in the UNIX philosophy that says that tools have to use a console interface - it's just turned out that way. | ||
|
||
The BeeWare project started with the premise we can have the best of both worlds. We can have a chain of composable tools that each do one thing, well. But those tools can also expose their functionality using a rich graphical user interface. | ||
|
||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The language selection is already a pulldown, with a style; why do we need a separate style here? (or, if the issue is dark mode vs light mode - why isn't the fix making the language pulldown style dark?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assumed there was a reason for the background color of the language puilldown, and didn't want to change it. Fixing the language pulldown is a much better solution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The language dropdown has been updated to match the rest of the theme.