# Getting started with PyScript
To start developing a PyScript, like with most applications development, you need a **development environment** where you
write your code, a way to install the programming libraries and dependencies your code needs, and way to build and distribute
your application.
Luckily, PyScript makes many of these steps much easier.
## Requirements
To visualize a PyScript application, users only need a modern web browser.
To distribute a PyScript application, the only requirement is for the application to be hosted somewhere a browser can reach.
To create a PyScript application, users need a Development Environment, often also called [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)
where they can write their code.
**Note:** The easiest way to get the a full PyScript development environment and application hosting setup in seconds,
is to use [pyscript.com](pyscript.com) on your browser. It is a free service that helps users create new projects from
pre-created templates already structured using best practices allowing user to edit, preview and deploy their apps with
just a link, all in the same place.
### Development Environment
Like most software platforms, PyScript requires a development environment where the user can write their applications. This
means an editor where to edit files, installing all dependencies needed by the application and setting everything up so
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
picking youR favorite browser and IDE, or using pyscript.com (that includes an editor in the browser itself).
**Note:** If you're using [VSCode](https://code.visualstudio.com/), the
[Live Server extension](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)
can be used to reload the page as you edit the HTML file.
## Installation
There is no PyScript specific installation required in your system to start using PyScript in your browser. All you need to do is to
simply add a reference in your application code to where your application should get PyScript from.
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.
### 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.
PyScript is a Software Platform that enables users to write Python Applications that run in the Browser, with a simple and user
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. **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. **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 ``
3. Skip a configuration file for our projects and use the default since we won't need to install any additional dependencies.
4. Add a `` tag to use as entrypoint for our Python code, that will be executed when the page loads.
**NOTE:** We highly recommend users to reproduce and interact with the examples below on their own on pyscript.com or
with their favorite Development Environment setup.
First, create a new file called `hello.html` and paste in the following content and open it in your web browser.
**Hint:** In the example below, click on the ➕ icon to read hints about specific sections in the code examples
```html title="hello_world.html"
My First PyScript APP: Hello World!
```
1. ⚡️ we use a `