Skip to content
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

Simulator for Mobile App #36

Open
Nitish145 opened this issue Nov 30, 2020 · 18 comments
Open

Simulator for Mobile App #36

Nitish145 opened this issue Nov 30, 2020 · 18 comments
Labels
enhancement New feature or request

Comments

@Nitish145
Copy link
Member

This issue serves as the discussion thread for different approaches to bringing the simulator to mobile_app.

@cyber-venom003
Copy link
Contributor

@Nitish145 is there any documentation for web simulator?? It would be easy for us to replicate that in mobile_app if we read it once.

@Nitish145
Copy link
Member Author

Nitish145 commented Dec 1, 2020

@shubhankarsharma00 @satu0king any inputs here ?

@manjotsidhu
Copy link
Member

The big question is that do we need Simulator in mobile_app ?

@Nitish145
Copy link
Member Author

For people having access to only mobile phones, this can be a good addition. Also, there have been some requests regarding the same from our users/teachers.

@tachyons
Copy link
Member

tachyons commented Dec 1, 2020

One such example https://play.google.com/store/apps/details?id=com.duracodefactory.logiccircuitsimulatorpro&hl=en_IN&gl=US

@shubhankarsharma00
Copy link
Member

shubhankarsharma00 commented Dec 1, 2020

https://simulator-docs.circuitverse.org/ here is a still WIP documentation of how the browser simulator works. Personally I think having an option to change circuits from mobile phones is a great idea if feasible because that'll allow users to make small changes on the go. like you wouldn't type an essay on Google docs app but if you want to do a minor change you shouldn't have to open laptop.

@manjotsidhu
Copy link
Member

I think its easy enough to replicate the engine from JavaScript to Dart and most of the things might come down to UI related stuff.

@tachyons
Copy link
Member

tachyons commented Dec 2, 2020

Simulator code is complex and ui is just a very small part of it. Rewriting it in dart may not be a good idea

@manjotsidhu
Copy link
Member

So, we should look into exposing the APIs for Simulator ?

@tachyons
Copy link
Member

tachyons commented Dec 2, 2020 via email

@manjotsidhu
Copy link
Member

manjotsidhu commented Dec 3, 2020

I was reading the simulator code, the problem is that the UI and the simulator logic layer is bound together which makes it very hard to be used in mobile-app. One way possible is loading the simulator inside WebView which will locally use the JS scripts of simulator but again UI will be also handled by HTML, CSS etc. Otherwise there is no way of using the JS engine inside mobile-app

@Nitish145 Nitish145 added the enhancement New feature or request label Jan 25, 2021
@satu0king
Copy link
Member

@manjotsidhu would it have been easier if we had used react native instead of flutter?

@manjotsidhu
Copy link
Member

@manjotsidhu would it have been easier if we had used react native instead of flutter?

It would have been a little easier since we don't need to port JS to Dart, but the UI layer will still have to be changed anyways for both Flutter and React.

@satu0king
Copy link
Member

@manjotsidhu would it have been easier if we had used react native instead of flutter?

It would have been a little easier since we don't need to port JS to Dart, but the UI layer will still have to be changed anyways for both Flutter and React.

Understood. The bulk of the code is actually not the UI. So yes we would need to decouple it but it would be possible.

@manjotsidhu
Copy link
Member

I am having a hard time wrapping my head around how Simulator core can be kept common. We cannot expose APIs as it would be very slow to do every single task. I think we have to re-write the whole simulator in dart for compatibility.

@tachyons
Copy link
Member

tachyons commented Apr 3, 2021

As the first phase we can embed simulator in web view once the touch compatibility is done

@manjotsidhu
Copy link
Member

As the first phase we can embed simulator in web view once the touch compatibility is done

Ok that can be done.

@sherlockCPDEV
Copy link

sherlockCPDEV commented Dec 6, 2021

@satu0king @tachyons @manjotsidhu is this issue/enhancement open?
If it is, I would like to take this up as a project idea for GSOC'22.
Can you please guide to me to get started, or some initial steps?
Thank you. 😃

@tachyons tachyons pinned this issue Jul 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants