Orientação gerada a partir de informações públicas. Apenas para referência.
RAD é um framework frontend sem dependências, projetado para criar aplicações web de alto desempenho com Dart. Permite aos desenvolvedores criar aplicativos web rápidos e escaláveis sem dependências externas, focando na simplicidade e eficiência. Construído especificamente para a web, o RAD aproveita os recursos do Dart para entregar interfaces de usuário responsivas com overhead mínimo. O framework é ideal para projetos em que desempenho e arquitetura leve são críticos. Sua design limpo promove desenvolvimento rápido e fácil integração em fluxos de trabalho existentes.
Casos de uso
Construindo aplicativos web de alto desempenho
Criando aplicativos leves de página única
Prototipagem rápida com Dart
Desenvolvendo conteúdo web renderizado no lado do servidor
Integração com projetos Flutter Web
Principais recursos
Nenhuma dependência externa
Otimizado para desempenho na web
Boilerplate mínimo
Sintaxe nativa do Dart
Rotas e gerenciamento de estado embutidos
Arquitetura leve e modular
Indicado para
Desenvolvedores Dart em busca de um framework web leve
Projetos que priorizam velocidade e eficiência
Desenvolvedores Flutter Web estendendo funcionalidades da web
Ecossistema limitado em comparação com frameworks maiores
Ainda emergindo com menos recursos comunitários
Não adequado para aplicações complexas com foco em back-end
Requer familiaridade com o Dart
Mais adequado para navegadores da web modernos sem necessidade de suporte a versões antigas
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Rad
Rad is a frontend framework for creating fast and interactive web apps using Dart. It has all the best bits of Flutter(StatefulWidgets, Builders) and React(Hooks, Performance), and allows you to use web technologies(HTML and CSS) in your app.
Function runApp will finds a element having id=output in your HTML page, create a Rad app with it, and then displays "hello world" inside of it. As you might have guessed it, Text('hello world') is a widget, a special purpose widget provided by the framework that we're using to display desired text on the screen. Rad provides number of widgets that you can use and best thing about widgets is that you can compose them together to create more widgets and build complex layouts.
Flutter widgets
Following widgets in Rad are inspired from Flutter:
These widgets has same syntax as their Flutter's counterparts. Not just syntax, they also works exactly same as if they would in Flutter. Which means you don't have to learn anything new to be able to use them.
React hooks
Similar to React, we have number of hooks that you can use to power-up your widget functions.
There's also an alternative syntax for all HTML widgets:
div(
children: [
p(innerText: 'Hey there!'),
]
)
Apart from syntax/names, HTML widgets are composable and has same semantics in the sense that they can be composed and mixed together with other widgets. For example,
In above example, a Span widget is containing a ListView widget. Further, that ListView is containing a StatefulWidget and a Span widget. The point we're trying to make is that HTML widgets won't restrict you to 'just HTML'.
Provides an enhanced development experience for developers working with the Rad Framework. With its powerful features, this extension makes it easier for developers to write and manage code, saving time and increasing productivity. Extension's top features are:
Visual JSX: Transforms your HTML widgets into a visually appealing, JSX-like syntax.
Click to See Preview
HTML2Rad: Converts your HTML markup directly into Rad's HTML widgets.
Click to See Preview
Reference
Below is the list of available widgets and hooks in Rad. Some widgets are named after Flutter widgets because they either works exactly same or can be used to achieve same things but in a different way(more or less). All those widgets are tagged accordingly.
Tags:
exact: Exact syntax, similar semantics.
same: Exact syntax with few exceptions, similar semantics.