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

Perspective towards Loopback - Gaps in Loopback 3.0 #2012

Closed
haresh333 opened this issue Nov 10, 2018 · 7 comments
Closed

Perspective towards Loopback - Gaps in Loopback 3.0 #2012

haresh333 opened this issue Nov 10, 2018 · 7 comments

Comments

@haresh333
Copy link

haresh333 commented Nov 10, 2018

Related: Feature parity with LoopBack 3.x (and the lack of it) #1920

Description / Steps to reproduce / Feature proposal

This is in context with series of tweets by me to @strongloop. Requesting attention from senior management.

I have been using loopback over last one year and looking back when I thought to see whether loopback contributed in my organizations’ commercial projects; Following are my observations (some of which I shared over tweets and I will elaborate on them).

I used loopback in quite a few projects. Loopback implementation helped in faster time to market for web applications. However for mobile apps we have been struggling primarily due to lack of mature authentication framework.
Also it appears to me that StrongLoop is focusing on bringing out v4.0 and support for 3.0 is not on agenda.

I will not talk about strengths of loopback but the gaps in the interest of improving the loopback ecosystem.

Key gaps that I face are

  1. I am struggling with implementing social login in mobile app. Tech stack I am using is: Mongo DB, Loopback 3.0, IONIC 3.

loopback-component-passport seems designed keeping in mind web applications and not mobile application. I have tried various sample applications and went through several articles, examples, github issues but unable to implement such in my mobile app.

Our technical skills are not deep enough to develop hack and get around. One option is to bypass in build loopback user management and implement my own user management. Probably In will go in this direction if I do not get solution in next couple of weeks. But then this will be bad solution

And hence I thought to bring to your notice that this is a serious gap.

While I was seeking help from community, I came across 2 organizations which abandoned LoopBack for same reason that they were unable to build social login for their mobile app having loopback as backend.

I appreciate if you can provide a reference implementation of social authentication for mobile app with google, facebook linkedin, twitter which uses loopback user management as well. And at least couple of popular strategies for each

  1. lb-sdk for angular while supports Angular 2+. However the storage support in SDK generated is still synchronous. Latest angular/react versions are asynchronous so is IONIC 3, 4 etc. This is critical. While I got around by modifying the generated SDK, I have to be careful while managing this SDK codebase.

  2. For NoSQL as backend database, corresponding connector is good. However, NoSQL embedded document implementation can be substantially enhanced, better queries. Lb-sdk does not generate javascript interface/classes for embedded documents (EmbedsOne/EmbedsMany relation)

  3. upsertWithWhere does not work. There are already issues opened (328, 356) I have fixed it in base.service.ts. But should be formally fixed in core. There are many such issues that are pending and marked stale, Seems loopback core team is focusing on LB4 as a result such stability issues are taking backseat

  4. in my other product startup org I am using LB3 (as mentioned in stack in RFC: Monorepo #1 above). lb4 is at least 1 year away for developer community like us to adopt for commercial projects. So you must provide intermediate updates to LB3 for all those who have adopted LB3. We will not be able to move to LB4 for foreseeable period.

  5. Ecosystem challenges

a. Loopback Documentation is minimal but inadequate. For example: loopback-component-storage, loopback-component-passport / various aspects of embedded documents. (I will try to detail out some of the points and send them across later)

b. Community contribution, including Strongloop contribution towards content generation is very slow Most of the blogs in various sections on Strongloop site are more that 1 year old (except probably OpenAPI, LB4). There no new blog in Mobile section since Sept 2016.

Does this mean Strongloop is not growing/maturing/enriching? I think so. (While I do agree that building an open source software and keeping alive like LoopBack is not easy, I strongly feel there are few low hanging fruits that can help LoopBack to grow in its adoption. More adoption will bring in more maturity, stabilization)

c. Loopback Community support is not very strong because the adoption is low.

I may be wrong, but this is my impression that over last 3 years its adoption is happening at very slow pace. I don’t know if StrongLoop is thinking in this directions, if not they should. LoopBack is extremely useful platform that can help to fast track server development.

Despite of Loopback strengths, I do not see it growing at a speed it deserves to grow. Its has only 11K+ stars on github. And this surprises me. As a platform I found much better in comparison with various other similar platforms like METEOR, SAIL etc. in various aspects ( ease of use, TTM, learning curve, scalability). METEOR is powerful by very difficult to use. Loopback in my opinion must better than METEOR. Meteor has 40K + stars in comparison with Loopbacks 11K+

  1. Few low hanging fruits I can think of that StrongLoop can address
    a. In my opinion, IONIC is very crucial to support. IONIC has huge follower base and for loopback to expand its footprint should be most attractive community. Hence Strongloop should do everything in its kitty to fix things that can be useful for IONIC community. Same goes with React/ReactNative.
    b. Provide lb-sdk like tools to build SDKs for latest JS platforms (VUE, React, Angular, IONIC, ReactNative)
    c. Build 5-6 end to end sample applications or boilerplate applications for each of these platforms to showcase. Such samples apps/boilerplate apps are extremely important for organizations like mine or architects/developers like we have in my organization (In my org we provide Mobile & Web application development services. During this year in 10 months we have build 10 web, 13 mobile apps (3 android/IOS , 1 IOS, 9 hybrid for our clients).
    Can you make using LoopBack a cake walk for mobile app developers?
    d. Can IBM/StrongLoop conduct hackathons in India and other countries with StrongLoop as backend?

  2. Good to have features
    a. ACL framework & process is bit tricky. While implementation is easy, can you provide holistic view for ACLs, some kind of visual picture of which models/methods are ACL protected
    b. Visual depiction of entity relationships – there are couple of packages which display ER diagrammactically, but a better tool will help a lot. A tool which can show models and their relationships visually

Thank you and warm regards

Haresh Gujarathi
Business Development Partner
MindNerves Technology Services Pvt Ltd
Ph: +91 91724 30080

@raymondfeng
Copy link
Contributor

@haresh333 We really appreciate your constructive feedback. 💯 The team will look into your suggestions and post responses here as we go.

@haresh333
Copy link
Author

haresh333 commented Nov 10, 2018

@haresh333 We really appreciate your constructive feedback. 💯 The team will look into your suggestions and post responses here as we go.

Hi @raymondfeng
Thanks.
At the least can someone help/guide me on way to implement social authentication in IONIC Mobile App. I am stuck here.

Regards

@raymondfeng
Copy link
Contributor

Let's keep the issue open.

@raymondfeng raymondfeng reopened this Nov 13, 2018
@elv1s
Copy link
Contributor

elv1s commented Nov 13, 2018

Is LB4 considered ready for production use?

@haresh333
Copy link
Author

Hi Raymond
Any thoughts / feedback on this?

@stale
Copy link

stale bot commented Jan 9, 2020

This issue has been marked stale because it has not seen activity within six months. If you believe this to be in error, please contact one of the code owners, listed in the CODEOWNERS file at the top-level of this repository. This issue will be closed within 30 days of being stale.

@stale stale bot added the stale label Jan 9, 2020
@stale
Copy link

stale bot commented Feb 8, 2020

This issue has been closed due to continued inactivity. Thank you for your understanding. If you believe this to be in error, please contact one of the code owners, listed in the CODEOWNERS file at the top-level of this repository.

@stale stale bot closed this as completed Feb 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants