ohanhi / elm-native-ui

[CLOSED] Experiment: mobile apps in Elm using React Native.
BSD 3-Clause "New" or "Revised" License
1.54k stars 76 forks source link

Production RoadMap #35

Closed sudhirvkumar closed 8 years ago

sudhirvkumar commented 8 years ago

@ohanhi @mk As I understand to go to Production Quality we need to complete quiet a few things and some are out of my control.

The following are completely out of my control

So this is what I am going to do...

  1. Work on the fork (https://github.com/elm-native/elm-native-ui)
  2. Build custom elm-native binaries for elm compiler (Mac & Ubuntu/Linux 64Bit only) Lets see if people need 32bit binaries
  3. May be package.elm-native.com to host all packages
  4. Build Native Mobile Apps with Elm!
  5. Maintain elm-native-ui for all future releases of React Native Release. Every 2 weeks or so...
  6. Fun & Profit!

When the library is mature enough I guess things which are out of control will be taken care of by those responsible.

Wish elm Main supported custom types and hooks to handle those custom types... things would have been way easier.

sudhirvkumar commented 8 years ago

There are some major changes coming in Elm 0.17 for let me check the code and figure things out... :) core 3.0.0 to 4.0.0 has some crazy changes!

I guess you guys are already aware of the changes in the elm-lang.

wow!

https://github.com/elm-lang/elm-compiler/blob/dev/src/Nitpick/TopLevelTypes.hs

This changes everything...

ohanhi commented 8 years ago

Hey @sudhirvkumar, you are of course welcome to fork this repository and keep working on your fork from now on, but please use some distinguishable name for your fork. "elm-native/elm-native-ui" is so close to this original organization/repository that it is very easy to confuse the two.

Another thing is that "Elm Native" is really quite awkward. It is used to refer to the so-called native side of Elm, namely JavaScript modules, as discussed when the project was renamed.

Since this is not really an issue, I will close this now. Thanks for the todo-list though, I might add some of these into the readme at some point! :)

sudhirvkumar commented 8 years ago

@ohanhi

With regard to elm-native-ui I am not forking. I am starting from scratch and using 0.17 pre-release code to work on the mobile. "Elm Native" is precisely about the Elm Native Modules...

Elm Native will cover Mobile (iOS, Android and Windows) using React Native and also other platforms like Nodejs for building server side applications and also IoT. Other platforms like Tizen etc. which all requires Native bindings :)

most probably the packages for React Native will be

elm-native/mobile elm-native/mobile-ios elm-native/mobile-android elm-native/mobile-windows

"mobile" name is also vague as it also covers Tablet, tvOS... anyway... naming is quiet difficult :P I will start with mobile will figure out a different name when that name makes sense.

Thanks!

eeue56 commented 8 years ago

Okay, a few things here:

sudhirvkumar commented 8 years ago

@eeue56

The issue here is... @ohanhi is waiting for 0.17 to release and I am not waiting ... instead I want to get this ready so that we can launch along with 0.17 and attract more people to elm because now... they can build web apps and also mobile apps.

https://github.com/elm-native-ui/elm-compiler/blob/master/src/Nitpick/TopLevelTypes.hs

nativeUi :: ModuleName.Canonical nativeUi = ModuleName.Canonical (Pkg.Name "elm-native-ui" "elm-native-ui") ["NativeUi"]

once its ready... it would be easy to replace elm-native with elm-native-ui

After checking the code and realizing that 0.17 makes the above lines obsolete. Now elm-native doesn't seem silly. I am planning to use elm-native for a lot more native bindings.

I am not sure why we should call Mobile Apps package as NativeUi? Mobile makes better sense?

As we are not longer needed to use Html / Element / NativeUi and we can use Program and Mobile can return a Program.

I am always ready to collaborate. Let me know how! I want to move faster. I don't want to struggle with the React Native tools anymore. So I really really want to move to elm for Mobile app development and also server side development. :)

Most importantly I want to move faster!!! :) I am betting my Company on elm!!!

sudhirvkumar commented 8 years ago

@eeue56 @ohanhi

I am open for a chat session where we can plan how to move forward faster.

eeue56 commented 8 years ago

The issue here is... @ohanhi is waiting for 0.17 to release and I am not waiting ... instead I want to get this ready so that we can launch along with 0.17 and attract more people to elm because now... they can build web apps and also mobile apps.

This isn't going to happen. 0.17 is not ready yet, and you are wasting your time by basing things on a unstable API. If you are interested in this, wait for an alpha! Things are still in flux. People are not going to be able to write production elm-native-ui when 0.17 lands. It's just not feasable. It's a noble idea and desire, and I really really appreciate that. But @ohanhi is right in waiting.

once its ready... it would be easy to replace elm-native with elm-native-ui

This is a silly reason - you can literally change any string for any other string. Elm Native already has meaning. It's not great that this org is called elm-native-ui either, but it's a better and more distinct than taking the name of something that already exists.

After checking the code and realizing that 0.17 makes the above lines obsolete. Now elm-native doesn't seem silly. I am planning to use elm-native for a lot more native bindings.

Again, wait for 0.17. By jumping into this without a complete picture of what's coming or the desired API that has been _designed_ with these problems in mind, you are being harmful to your own efforts and the efforts that Evan has been putting in for the last 6 months.

I know it's annoying to wait! I get the same urge every morning when I wake up to just start doing things. However, I think you should trust me when I say you should wait. Evan will tell you the same thing, as will Richard, Ossi, Martin, etc.

sudhirvkumar commented 8 years ago

I already agreed that its silly to choose elm-native I could have chosen anything... I chose elm-native

I understand that you want me to wait for 0.17 alpha. You are completely against elm-native organization.

Got the message loud and clear. :)

Let me think about it.

eeue56 commented 8 years ago

I already agreed that its silly to choose elm-native I could have chosen anything... I chose elm-native

Yep - sorry, I should've put a " 😛 " there, to show I was agreeing with you :)

You are completely against elm-native organization.

I am completely against the naming and rushing into this

Let me think about it.

Great. These things are things that will happen, because people clearly want it to happen! And I am more than happy to help enable it if it's done in the right manner. When 0.17 lands, I'm sure the energy put into this project will be crazy productive. Let's channel that energy to be useful!

sudhirvkumar commented 8 years ago

@eeue56

No worries :)

I have changed the organization to Atomic Elm... I just changed it so that you will be happy. I might change it to something else later.

https://github.com/atomic-elm

There is nothing wrong in waiting for the right things. I believe there are a lot of things that can be done with just elm code and nothing on the native side. So I will make some progress while I wait.

Thanks for your time Noah!

eeue56 commented 8 years ago

Perfect! That's definitely the right approach for now, focus on the abstract API written in Elm, and revisit making the implementation with Native at a later point when the state of the world is more clear.

Thanks a lot! 💯

ohanhi commented 8 years ago

Super! Thanks for pitching in, Noah, and thanks for renaming the fork, Sudhir!