-
Notifications
You must be signed in to change notification settings - Fork 21
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
Finalising the spec #14
Comments
@sudhirvkumar what do you think of https://github.com/vacationlabs/haskell-webapps/blob/26474934fd364237f37f50bb8e35f0b9ab2ade8b/SPEC.md#things-to-cover-in-the-spec Can anything be added to it? |
Planning to implement only the endpoints documented here Stuff that can be added:
|
Before I make comments on the SPEC document. I just want to collect my thoughts and also share them with you. So that you know my perspective. I believe I will be helpful only partially in helping draft the spec. Why Haskell and PureScript?
I want to use Haskell only for a part of the Applications. I have no desire to go end-to-end with Haskell. like using GHCJS, will go with PureScript instead. Use Ruby where it makes sense. How I plan to use Haskell?
Where I am not planning to use Haskell?
Where I am planning to use PureScript?
Will avoid (for now...) PureScript in these cases
If at all... I need (makes my life easy?) then will use them as Micro Services for some parts of the App! I believe with Pure Functions, Types, Type Classes, Monads, Monad Transformers... We will be able to avoid at least 80-90% of the issues we have been having with RoR. Mainly..
So I am not really looking to use Type System for anything else other than taking care of Logic, Input and Output for now. I am going to continue to depend on Team Collaboration, Processes, Unit Tests, Refactoring and Code Review to build Applications. |
@sudhirvkumar have you already started working with Purescript or is that still in research phase? How similar is Purescript syntax to Haskell? Can Purescript integrate with the jQuery widget eco-system out there? Or are you planning to write Purescript with React? In which case, how mature are the React UI widget libraries? Btw, I'm not a big believer of micro-services unless you hit true "web scale". In the end it's a tradeoff, which doesn't have a single correct answer. Would you rather deal with orchestrating micro-services in production and dealing with a distributed system OR would you put extra effort in closing the library gap in Haskell? |
We have already started working with PureScript and we are using PureScript Pux (https://github.com/alexmingoia/purescript-pux). PureScript is very close to Haskell. Its not Lazy though! https://github.com/purescript/purescript/wiki/Differences-from-Haskell We are using React and React has a lot of components and with PureScript we can use jQuery widgets too. There are a lot of components for React too! https://github.com/brillout/awesome-react-components One thing is... we need to understand how Virtual DOM works, so that debugging and building libraries is easier. Microservices are a no brainer when we are using Haskell.
So if we separate a few endpoints and re-use them then we will be able to scale parts of the app horizontally. Also use different databases for parts of the App! Anyway, when we use Haskell and Servant. We will always find it easy to split them into micro services in the later stages of development. So I wouldn't worry too much right now. Docker/CoreOS/rkt makes it easy to manage all the services too. |
As things are, we are cool with the libraries which are available for now. Will work on other libraries later and as and when its required. Micro Services makes good sense for my Product and Services! |
I am having second thoughts about using Tests vs Type System to enforce correctness. I am more concerned about being able to jump right into the projects along with the team and tests made more sense then.... Now... I am thinking about Types and Compiler / Development time guarantees. So I am going to spend some time today to learn. If you already have some resources then please do share. |
While writing up the JSON API spec based on the original spec outline, I realised that I was biting off more than what could be chewed. Therefore this is to discuss and finalise a spec that covers all functional aspects, allows us to discover a "minimum viable webapp architecture", and requires minimal development effort.
The text was updated successfully, but these errors were encountered: