fastn - Full-stack Web Development Made Easy

ftd is a programming language for building user interfaces and content centric websites. ftd is easy to learn, especially for non programmers, but does not compromise on what you can build with it.

fastn is a web-framework, a content management system, and an integrated development environment for ftd. fastn is a webserver, and compiles ftd to HTML/CSS/JS, and can be deployed on your server, or on fastn cloud by FifthTry.

The quickest way to learn fastn is the short video course we have created: expander, it takes you through the basics.

Then checkout the frontend and backend sections of our documentation.

ftd: Programming Language For The Next Billion Programmers

ftd is designed with minimal and uniform syntax, and at first glance does not even look like a programming language.
No quotes for string, multi-line strings are easy
-- amitu: Hello World! ๐Ÿ˜€

-- amitu:

you can also write multiline messages easily!

no quotes. and **markdown** is *supported*.
Lang:
ftd

We have called a โ€œfunctionโ€ named โ€œamituโ€ with โ€œHello World! ๐Ÿ˜€โ€ as input, yet it does not feel technical.

This is what it produces:
Hello World! ๐Ÿ˜€

you can also write multiline messages easily!

no quotes. and markdown is supported.
Learn more about ftd Programming Language.

There are a lot of ready made ftd components available today

Ready made components can be imported and used.
-- import: fifthtry.github.io/bling/quote

-- quote.charcoal: Amit Upadhyay
label: Creator of FTD
avatar: $fastn-assets.files.images.amitu.jpg
logo: $fastn-assets.files.images.logo-fifthtry.svg

The web has lost some of the exuberance from the
early 2000s, and it makes me a little sad.
Lang:
ftd
The web has lost some of the exuberance from the early 2000s, and it makes me a little sad.
Amit Upadhyay
Creator of FTD

Or you can create your own components

Creating a custom component
-- component toggle-text:
boolean $current: false
caption title:

-- ftd.text: $toggle-text.title
align-self: center
text-align: center
color if { toggle-text.current }: #D42D42
color: $inherited.colors.cta-primary.text
background.solid: $inherited.colors.cta-primary.base
$on-click$: $ftd.toggle($a = $toggle-text.current)
border-radius.px: 5

-- end: toggle-text

-- toggle-text: `ftd` is cool!
Lang:
ftd
Output
click me to toggle colors
ftdโ€™s event handling capabilities can be used for form validation, ajax requests etc, to create fully functional frontend applications.

You Use fastn To Work With ftd

We ship pre built binaries for Linux, Mac and Windows.
curl -fsSL https://fastn.com/install.sh | bash
Lang:
sh

Integrated Web Development Experience

ftd and fastn come with package management, web server, opinionated design system, dark mode and responsive by default.

If you are getting started with frontend development, fastn framework takes care of a lot of things for you, and all you have to focus on is your product.

We are working towards our own hosted web based IDE, version controlled code hosting and collaboration platform so you and your team gets a one stop solution for building websites.

fastn for Static Sites

fastn websites can be compiled into static html, js, css etc, and can be deployed on any static hosting providers eg Github Pages, Vercel etc.
ftd source code of the page you are reading
-- import: fifthtry.github.io/bling/quote
-- import: fastn.com/ftd as ftd-index

-- my-ds.page: Overview of `fastn` and `ftd`

`ftd` is a programming language for building user interfaces and content centric
websites. `ftd` is easy to learn, especially for non programmers, but does not
compromise on what you can build with it.
Lang:
ftd
ftd is a good alternative for content websites like blogs, knowledge bases, portfolio websites, project and marketing websites etc. It is cheap, fast, and requires little maintenance.

Data Driven Website

fetching data from API
-- import: fastn/processors as pr

-- result r:
$processor$: pr.http
url: https://api.github.com/search/repositories
sort: stars
order: desc
q: language:python
Lang:
ftd
Working With SQL Is Breeze
-- import: fastn/processors as pr

-- people:
$processor$: pr.package-query
db: db.sqlite

SELECT * FROM user;


-- show-person: $p
$loop$: $people as $p
Lang:
ftd
fastn can be used to create data driven website, dashboards.
Dynamic URLs
-- fastn.dynamic-urls:

# Profile Page
url: /<string:username>/
document: profile.ftd
Lang:
ftd
fastn can be used for creating a lot of web application backends as well.

Upcoming WASM Support

We are working on wasm support so developers can extend ftd's standard libraries and offer access to more backend functionalities.

Hosting Dynamic Sites

For dynamic sites you can deploy fastn cli on the platform of your choice. We ship ready made Docker containers that you can add to your infrastructure.

fastn Cloud

We also offer our own hosting solution for your static and dynamic sites. Using fastn Cloud frees you from devops needs, and you get a fully integrated, managed hosting solution, that a non programmers can use with ease.

Support fastn!

Enjoying fastn? Please consider giving us a star โญ๏ธ on GitHub to show your support!

Getting Help

Have a question or need help?

Visit our GitHub Q&A discussion to get answers and subscribe to it to stay tuned.

Join our Discord channel and share your thoughts, suggestion, question etc.

Connect with our community!

Found an issue?

If you find some issue, please visit our GitHub issues to tell us about it.

Join us

We welcome you to join our Discord community today.

We are trying to create the language for human beings and we do not believe it would be possible without your support. We would love to hear from you.
Copyright ยฉ 2023 - FifthTry.com