diff --git a/newdocs/docs/getting-started.md b/newdocs/docs/getting-started.md index dde3fb1f..24ae06b7 100644 --- a/newdocs/docs/getting-started.md +++ b/newdocs/docs/getting-started.md @@ -29,7 +29,6 @@ means an editor where to edit files, installing all dependencies needed by the a that the application can be build and distributed. PyScript simplify these aspects for the user, reducing these needs to an editor, a browser and ways to serve your application files. - PyScript does not require any specific development environment other than a web browser (we recommend using [Chrome](https://www.google.com/chrome/)) and a text editor ([IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)) that authors can use to write their applications. Users are free to choose according to their preference. We recommend @@ -46,7 +45,58 @@ simply add a reference in your application code to where your application should If you are not an experienced developer and it all sounds very complicated, don't worry, we'll get you through it in the following steps. -## Basic Concepts +### Application Development Phases + +Just like with any Web Application, the development lifecycle of an application in 2 phases: + +* **development:** this is where authors write their files and application logic +* **deployment:** in order to open your application in a browser, your application files need to be +"uploaded" to a web server that is able to share your application with the right format when +it's requested by a browser. This is also deferret to as "serving" web page. + +Before we get into the `development` topic and have some fine writing our first applications, let's talk about +how to serve a pyscript application. + +## Serving your application + + +While browsers are also capable of opening files from the users local system, it is not recommended because, +for security reasons, browsers will forbid and disable many features when accessing files this way. +(In this is the case, you may see your Python code in the text of the webpage, and the +[browser developer console](https://balsamiq.com/support/faqs/browserconsole/) may show an +error like *"Cross origin requests are only supported for HTTP."*) + +In short, when browsers visualize a web page, they expect them to be served by a +web server. + +### Serving your application from your computer + +There are many ways you can initiate a local web server to serve files. We'll only cover one of them, +using `Python`. + +Assuming you have `Python` installed in your system, `cd` in your application folder and run +the following python command: + +```python +python3 -m http.server +``` + +### Serving your application from a web server + +If there are many ways to serve a web application from your computer, there are many more +options on how to serve your application from a hosting service on the internet. We will not cover +this in detail and only suggest users to look into: + +* pyscript.com as it's a free service and makes the process of authoring and serving an +application almost transparent. +* github pages as it's a free service and Github is a very popular service adopted by developers. + + +For the rest of this documentation, we'll be presenting examples and snippets and host them on +pyscript.com. + + +## Basic Application Concepts While we'll cover PyScript concepts and APIs more thoroughly in the PyScript Concepts and PyScript User Guide sections, it's important to understand the basics. @@ -55,11 +105,11 @@ PyScript is a Software Platform that enables users to write Python Applications friendly interface. For this reason, it aims to have a small and intuitive interface that triest to enable users while staying out of the way. In fact, there are 3 main parts of a PyScript application: -1. The application skeleton and interface. Usually this is managed in a `html` file and is also where we specify that `PyScript`` needs +1. **Presentation:** Usually this is managed in a `html` file and is also where we specify that `PyScript`` needs to be loaded into the application. -2. The application configuration (for instance, dependencies, assets to be downloaded, etc...). PyScript supports configuration files written -in TOML or JSON formats -3. The application code/logic. These are typically Python files that host the application code. PyScript allows users to run these +2. **Configuration:** where users can define their dependencies, assets to be downloaded, etc. PyScript configuration +files in `TOML` or `JSON` formats +3. **Code Logic:** These are typically Python files that host the application code. PyScript allows users to run these through special `html` tags (such as ` + >
-