Skip to content

Commit

Permalink
docs(blog): add roadmap 1.0 blog post
Browse files Browse the repository at this point in the history
  • Loading branch information
ExFlo committed Nov 20, 2024
1 parent 5559d9e commit 624c986
Show file tree
Hide file tree
Showing 10 changed files with 113 additions and 4 deletions.
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
"search.exclude": {
"**/dist": true,
"**/generated": true
}
},
"cSpell.words": ["Tanstack", "Tansu"]
}
5 changes: 5 additions & 0 deletions demo/src/lib/layout/Published.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import share from 'bootstrap-icons/icons/share.svg?raw';
import fbasso from '$resources/images/fbasso.webp';
import fexbrayat from '$resources/images/fexbrayat.webp';
import {onMount} from 'svelte';
type AuthorInfo = {
Expand All @@ -19,6 +20,10 @@
icon: fbasso,
title: 'Fabrice Basso, Software engineer at Amadeus',
},
fexbrayat: {
icon: fexbrayat,
title: 'Florent Exbrayat, Principal engineer at Amadeus',
},
} satisfies Record<string, AuthorInfo>;
interface Props {
Expand Down
Binary file added demo/src/resources/images/fexbrayat.webp
Binary file not shown.
Binary file removed demo/src/resources/images/reactivity.webp
Binary file not shown.
2 changes: 1 addition & 1 deletion demo/src/routes/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@
{/if}
<a
class="nav-link"
href="{$pathToRoot$}blog/2024-02-01"
href="{$pathToRoot$}blog/2024-11-06"
class:active={$page.route.id?.startsWith('/blog/')}
aria-current={$page.route.id?.startsWith('/blog/') ? 'page' : undefined}>Blog</a
>
Expand Down
5 changes: 4 additions & 1 deletion demo/src/routes/blog/+layout.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ export const load = () => {
menu: [
{
title: 'News 2024',
submenu: [{label: 'State management with Tansu', path: 'blog/2024-02-01', slug: 'blog/2024-02-01'}],
submenu: [
{label: 'Roadmap to 1.0', path: 'blog/2024-11-06'},
{label: 'State management with Tansu', path: 'blog/2024-02-01', slug: 'blog/2024-02-01'},
],
},
],
since: 'v0.1.1',
Expand Down
10 changes: 10 additions & 0 deletions demo/src/routes/blog/2024-11-06/+page.server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
export const load = () => ({
pageMeta: {
title: 'Roadmap to 1.0',
description:
'AgnosUI is currently in 0.X version, but we intend to progress to reach 1.0 by 2025. In this blog we explain the steps to go there.',
socialImage: 'https://www.agnosui.dev/static/roadmap1.0-social-share.png',
socialImageAlt: 'Blog roadmap 1.0 image',
shareUrl: 'https://www.agnosui.dev/latest/blog/2024-11-06',
},
});
14 changes: 14 additions & 0 deletions demo/src/routes/blog/2024-11-06/+page.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<script lang="ts">
import Header from '$lib/layout/Header.svelte';
import Published from '$lib/layout/Published.svelte';
import Markdown from '$lib/markdown/Markdown.svelte';
import source from './roadmap1.0.md?raw';
import type {PageData} from './$types';
let {data}: {data: PageData} = $props();
</script>

<Header title={data.pageMeta.title} />
<Published date="11/06/2024" author="fexbrayat" title={data.pageMeta.title} />
<img src="https://www.agnosui.dev/static/roadmap1.0.webp" alt="frontend development" class="mb-3" width="100%" style:aspect-ratio={1024 / 500} />
<Markdown {source} />
76 changes: 76 additions & 0 deletions demo/src/routes/blog/2024-11-06/roadmap1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
It has been a year since our first commit, and we have made significant progress since the beginning of our library. We are getting closer to reaching our 1.0 version, and we want to provide a clearer vision of the library's future.

## Tech Enablers

### Pass the Demos to SSR

We are working on delivering our demo examples using Server-Side Rendering (SSR) to enhance performance and user experience (UX).

### Migrate the React Demo Site to Tanstack Start

Currently, our React demos are built using Vite, but this doesn't reflect real-life usage of React. We intend to migrate our React demo site to Tanstack Start to benefit from a more realistic environment.

### Upgrade to New Framework Versions

We plan to update our library to React 19 and Angular 19 as soon as they are officially released.

## Signal with Tansu 2.0

We are improving the performance of Tansu (our reactive state library) (see [this PR](https://github.com/AmadeusITGroup/tansu/pull/139)) while working closely with TC39 to integrate similar features into the future signal implementation.

Here are our contributions to the ongoing work on signals:

- [issue 227](https://github.com/tc39/proposal-signals/issues/227)
- [issue 226](https://github.com/tc39/proposal-signals/issues/226)
- [PR 197](https://github.com/tc39/proposal-signals/pull/197)

## Components

We plan to add several new components to AgnosUI. Here is a non-exhaustive list of the components we are targeting:

- Carousel (already in progress for version 0.6)
- Dropdown
- Select
- Tree (already in progress for version 0.6)
- Stepper
- SideNav
- Tabs
- ScrollSpy
- Tooltip
- Popover

For date/time components, we will need to evaluate the correct abstraction to use underneath.

We will improve some of our current components by providing services to manage them (Modal, Toast) and evaluate the usage of the new native Popover API.

## Documentation Review

We intend to continue improving the documentation by adding examples of features and emphasizing the accessibility and good UX of our components.

### Blog

We will publish a few articles highlighting why our widget libraries are interesting and the best solution for users' needs.

### Contribution Guide

A detailed guide to help new contributors participate in the development of AgnosUI will be delivered.

### Navigation Manager Service

Documentation on our navigation manager service for better knowledge and user experience.

### Intersection Service

Explanation of our intersection service for efficient management of elements visible in the viewport.

### Extension Capabilities

Documentation on the extension capabilities of AgnosUI, including available configuration options.

### Release Management

We will provide clear documentation on our release management process for AgnosUI. As we have multiple libraries, we need to clarify this.

## Conclusion

We are excited to share these updates with you and continue improving AgnosUI to meet your development needs and to see the progress we've made this year and cannot wait to reach our first major release. We hope you are as excited as we are and will share more news regarding AgnosUI, where components shine. Stay tuned for more details and updates!
2 changes: 1 addition & 1 deletion demo/src/routes/menu/MobileMenu.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
<hr />
<a
class="nav-item nav-link"
href="{$pathToRoot$}blog/2024-02-01"
href="{$pathToRoot$}blog/2024-11-06"
class:active={$page.route.id?.startsWith('/blog/')}
aria-current={$page.route.id?.startsWith('/blog/') ? 'page' : undefined}
>
Expand Down

0 comments on commit 624c986

Please sign in to comment.