-
Notifications
You must be signed in to change notification settings - Fork 199
Moon v1 Roadmap #250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @kbrsh. Some minor comments:
Thanks |
Hey @anonimusprogramus! Thanks for the feedback.
|
Interesting. I personally think that it's more clear to have an explicit |
I'm still waiting for the word beta to be removed from wish I could help you do this... Love You From IRAN ❤️ |
I'm working on it haha — currently I'm working on the performance and removing any deoptimizations from v8 along with the documentation. After that, the only thing left is to make an official router module. |
pls add this list after router module done :
PS3. |
Yup! I'm working on the CLI and boilerplates. I'll likely add webpack and rollup support as well, but those can progressively be released after v1's core modules are released. |
awesome 🥂 pls update Moon in js-framework-benchmark thanks 😄 |
I'm actually working on a new implementation of it now, and I have been tuning the compiler and executor to be as efficient as possible while also being asynchronous (similar to React's time slicing). For example:
I've gotten the performance up quite a bit — I'm just working on making it more consistent because the results can vary by a lot sometimes. |
Here are some preliminary performance results! Keep in mind that these ran on my machine, and the results will likely be different when made official. However, it is useful for getting a good idea on where Moon stands. I tested Moon, Inferno, Vanilla, and React. Moon appears to be the fastest! Still, I think that when these are ran on the official js-framework-benchmark machine, the results will differ. Specifically, I think that Vanilla along with some of the other low-level libraries will be faster. |
Hi Kabir and everyone.. Let's keep this discussion going on. Bring you some ideas,
so,
I find tiny libs like navaid and litestate to be cool examples, ymmv.
That's all for now. Thanks |
Hey @anonimusprogramus, thanks for the suggestions!
For now, I’m mostly working on documentation. Thanks again for your input! 🙏 |
Alright everyone, I finished most of the documentation! I still have to write examples and add more content to the landing page, but the bulk of the core documentation is done. On top of that, there is an interactive playground for trying Moon live in the browser. Check it out here: moon-v1.surge.sh. Let me know what you think! |
The playground is pretty nice. Though I wonder, how are you getting from tags-in-javascript to browser friendly js? |
@LeviSchuck It's the same thing as with JSX, but it is converted into |
Well done @kbrsh ! Here's what I found (ymmv)
|
Thanks @anonimusprogramus! I'll look into making it more readable using color. I'm not sure about the correct font size though, as other documentation sites usually use a size around 15px. It's small but meant to be dense. And you're right, it's a very new concept and even I'm still discovering its' full potential, let me know how you feel about it :) |
Let me know what you all think :) |
C:\Users\SYSTEM\AppData\Roaming\npm\node_modules\moon-cli\dist\moon-cli.s:65 Error: Command failed: tar -xzf C:\Users\SYSTEN\AppData\Roaming\npm\node_
thanks for new version but regards |
@Riiccardo Looks like your version of Windows doesn't have |
Almost v1, please make Moon's twitter account, easier to tweet and be searched. |
Hey @kbrsh import Moon from "moon";
import "./Index.css";
import "./Todo.js";
export default ({ data }) => (
<div class="Index">
<Todo data={separateData}></Todo>
<img class="Index-image" src="/img/moon-logo.png" alt="Moon logo"/>
<h1 class="Index-title">{data.name}</h1>
<p class="Index-paragraph">Jump into the <a href="https://kbrsh.github.io/moon/doc/guide.html" target="_blank">guide</a> to get started.</p>
</div>
); |
@Riiccardo Components don't have local state and shouldn't use If you want to make a component, then it will look just like |
Hi Kabir, is Moon going to use that Capitalized Index.js or Index.css naming? I agree with Components, but with files, what if Moon sticks with lowercase? I mean, just like if/else/for that now lower-ed, file name isn't new things too. What do you think? Thanks |
@anonimusprogramus It's just convention, since the |
Any plans to use TypeScript? |
@sandorTuranszky There are currently no plans to rewrite Moon in Typescript. |
Is there any plans to provide a TypeDcript declaration file? If there's no declaration provided for TypeScript, it will be hard to use Moon in TypeScript. |
Great library and clean concepts. Good luck with the future. I saw there are no plans to rewrite this library in typescript. And that's to be expected. It's hard to justify a rewrite. But I was thinking about using Typescript to write moon UIs. I see this can be problematic since moon uses its proper language. But since typescript supports JSX out of the box, this can be achieved. The other advantage of using Typescript and JSX is ease of migrating from React. Gathering a community of enthusiats is one thing. But bringing industry users is another. I'm saying this because i see a lot of potential in Moon to be used alongside existing apps since it's only 2kb of size. Other than types and their safety and easily including moon in an existing project, there is the question of mobile support: Are there any plans/ideas to have moon work in mobile? that's very interesting thing to explore as well. Maybe a mobile driver? Finally, congratulations on this amazing and small library. And thank you @kbrsh |
@haikyuu Thank you! TypeScript support and integration is definitely something to have on the roadmap once Moon is more stable. Like you said, it'll help with adoption and make Moon more approachable to existing apps. And you're totally right about a For now, I'm iterating on Moon's API as I build more side projects with it and learn about some of the common struggles that a different API design might mitigate. Thanks for the feedback and support, I really appreciate it :) |
Do I need to put the ugly HTML in my code or can I use things like:
I want to avoid using the dependencies in React and avoid using anything that looks like JSX as I want to make my code look nice. Is moonjs right for me? |
After a few betas, I think it's time to lay out the final list of features or changes that still need to be implemented for the next release.
Moon Executor
Allow custom
children
to be set on data.Example:
<if>
,<else-if>
, and<else>
components.<for>
component.Example:
Hoist static data, events, and children.
EDIT: This roadmap is outdated. The API referenced in this issue description has had a significant overhaul and is being iterated on! The current beta documentation is at moonjs.org.
The text was updated successfully, but these errors were encountered: