# ... if learning React

If you are learning React, you might also be probably learning web development, in which case, be prepared, React, or Angular or Vue... are not the only things you are going to need to learn.

Modern web development is a beast and is (in our opinion), too fragmented.

You will have to learn lots of frameworks and libraries to be able to do a simple CRUD (Create / Read / Update / Delete) application.

As our goal states,

**To make developing end to end web applications easy and scalable.**

We are trying to close this gap and to provide a framework that focuses on real world end to end cases:

![We know, you were not expecting this! Is normal to get emotional.](/files/-MD0U73kM5uitNiKuQbW)

## Where to start from?

We would suggest, as a learner, to not focus on the concepts just yet but get hands-on first.

Let's think of specific use cases where ConanJs might come in handy:

1. **I have to update some data from a button and the UI should change too**\
   [Hello Wow!](/tutorials/conan-state-demos/hello-wow.md)
2. **I would like to see how I can handle a little bit more interactivity, but keep it simple, no async**\
   [Todos](/tutorials/conan-state-demos/todos/todos-sync.md)
3. **I would like to add async actions to my app - Super easy with ConanJs!**\
   [Todos - Async](/tutorials/conan-state-demos/todos/todos-async.md)

{% hint style="success" %}
As of v1.0 we have demos to cover state management, but soon enough we are hoping to add more demos to cover for forms, layout, navigation, CRUD...

Stay tuned!
{% endhint %}

## Feeling more confident?

If you have played around with the demos, you should have an idea of what ConanJs is about, in which case we would recommend you to deep dive.

You can read more about Conan Data

{% content-ref url="/pages/-MCBgq-YgQkzpz4Lgdz7" %}
[General Concepts](/data/general-concepts.md)
{% endcontent-ref %}

Or learn about or runtime features

{% content-ref url="/pages/-M9U744H3CRps68J0Tjy" %}
[Dependency Injection](/dependency-injection.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MBYUa6Ifdga1DLBGzHx" %}
[ASAPs](/asaps.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MBYUiEx4KaokL8MFqon" %}
[Logging](/logging.md)
{% endcontent-ref %}

## Advanced demos.

{% content-ref url="/pages/-M9U3cip1z33a-FiHCQu" %}
[Todos - Optimistic](/tutorials/conan-state-demos/todos/todos-optimistic.md)
{% endcontent-ref %}

{% content-ref url="/pages/-M9U3fePsN6qiI6QJAUJ" %}
[Github issues viewer](/tutorials/conan-state-demos/github-issues-viewer.md)
{% endcontent-ref %}

{% content-ref url="/pages/-M9U3kT0hzPInUKDh8zp" %}
[Authentication](/tutorials/conan-flow-demos/authentication.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.conanjs.io/why-conanjs.../...-if-learning-react.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
