Readit News logoReadit News
davidkell commented on The best Go framework: no framework?   threedots.tech/post/best-... · Posted by u/roblaszczak
jpgvm · 3 years ago
However maybe also learn to love a language that embraces them at the same time so you don't come away with a poor experience because of only trying a language that has poor frameworks (Go, JS/TS, etc).

Definitely try something like Python + Django, Ruby + Rails, Java/Kotlin + Spring to get a feel for what a mature framework can really do.

Then if you find you still don't like frameworks and the style of programming associated with them then sure, find a home in one of the ecosystems that are more inclined to roll it your own way.

Frameworks certainly aren't for everyone but using bad frameworks and then pretending all frameworks are therefore bad is highly prevalent among more recent developers. Try the good ones and then make up your own mind.

davidkell · 3 years ago
Agreed and well put.

Lack of a decent Rails/Django option for JS/TS is part of the issue IMO, since that ecosystem is so popular atm.

I also wonder if you have to get burned a few times rolling your own and that's just part of the journey :)

davidkell commented on The best Go framework: no framework?   threedots.tech/post/best-... · Posted by u/roblaszczak
davidkell · 3 years ago
For junior developers reading this: frameworks are great, learn to love them, they will save you much time and stress when shipping real products.
davidkell commented on Ask HN: Solo Dev Stack of 2022?    · Posted by u/jstummbillig
davidkell · 3 years ago
If you like Python, I can recommend this:

  - Start with SaaS Pegasus https://www.saaspegasus.com/
  - Deploy to Heroku
  - Get comfortable with "X-in-HTML" frameworks - Tailwind, HTMX, Alpine
  - Deliver your mobile app as a PWA https://web.dev/what-are-pwas/
Opinionated thoughts -> https://davidkell.substack.com/p/davids-opinionated-guide-fo...

(Nowadays I'd replace Turbo/Stimulus -> HTMX/Alpine)

Special thanks to Cory for his excellent guides on Django + JS: https://www.saaspegasus.com/guides/

davidkell commented on Ask HN: Best SaaS Boilerplate?    · Posted by u/siavosh
czue · 4 years ago
I'm the creator of https://www.saaspegasus.com/ and would love to have you as a customer, and very happy to answer any questions you have about the Pegasus product, community, etc.

That said, all of the popular boilerplates have been created by individuals or teams who are passionate about their frameworks (in my case Django) and have significant experience building products on top of them (in my case 10+ years). All of them will drastically reduce your time to MVP and likely be a better foundation than you'd author on your own.

I actually would choose a language/framework first and then choose a boilerplate based on that. The boilerplate will get you far, but ultimately you're still going to be doing lots more dev in the framework, so you should pick one you like. Django and Rails and to some extent Laravel are comparable - mature frameworks with lots of batteries included, mostly server-render HTML by default. JavaScript is its own separate beast with a more fractured ecosystem, but tighter integration with the front end. I'm obviously biased towards Python because it's a wonderful language to work with and has a great community and third-party package ecosystem. But honestly, any of these are great choices and will help you launch your first product way faster.

There's a huge list of SaaS boilerplates broken down by language available here: https://github.com/smirnov-am/awesome-saas-boilerplates

Good luck!

davidkell · 4 years ago
Happy SaaS Pegasus customer here! Reasons to love it:

- Cory’s writing on low JS alternatives to single page web apps was game changing for us. And that’s all built in. 10x faster to develop.

- You get access to a wonderful community of Django devs. Any question gets 3+ independent responses.

- The framework is non-opinionated. You get the same examples in both HTMX and React + APIs, many versions of CSS frameworks (Bulma, Tailwind, Bootstrap), multiple deployment methods, etc. This gives you a valuable toolkit to fit your solution around the needs of the problem.

davidkell commented on Launch HN: Castled Data (YC W22) – Open-Source Reverse ETL   github.com/castledio/cast... · Posted by u/aruntdharan
davidkell · 4 years ago
Thanks folks, much needed! Where is the list of destinations today?
davidkell commented on Launch HN: Jitsu (YC S20) – Open-Source Segment Alternative    · Posted by u/vklmn
davidkell · 4 years ago
Many of your integrations talk about “syncing” rather than event collection, which to me sounds like what Fivetran is doing. Does that distinction make sense and how are you thinking about that?
davidkell commented on What's the best SaaS starter kit?    · Posted by u/ochysp
czue · 4 years ago
Creator of https://www.saaspegasus.com/ here.

I'd be thrilled to have you as a customer, and very happy to answer any questions you have about the Pegasus product, community, etc.

Almost all of the popular boilerplates mentioned here have been created by individuals who are passionate about their frameworks (in my case Django) and have significant experience building products on top of them (in my case 10+ years). Many of us - including myself - are now full time on our products. So you're getting hundreds of hours of work "done for you", plus a steady stream of updates for the cost of what would typically amount to a few hours of our time as a freelancer. But I guess you're already sold on the idea of a boilerplate.

Anyway... my point is, you can't really go wrong as long as you pick one that's backed by someone who is a) experienced, and b) committed. And that's true of myself, Kyle (Gravity), Gabe (DivJoy), Andrew (Bullet Train), Chris (Jumpstart), etc.

You said you're open to the language, but in all honesty I'd say that's the most important decision criteria. Django and Rails and to some extent Laravel are comparable - mature frameworks with lots of batteries included, mostly server-render HTML by default. JavaScript is its own separate beast with a more fractured ecosystem, but tighter integration with the front end. I'm obviously biased towards Python because it's a wonderful language to work with and has a great community and third-party package ecosystem. But honestly, any of these are great choices and will help you launch your first product way faster.

Good luck!

davidkell · 4 years ago
+1 for SaaS Pegasus. In particular, Cory has done a wonderful job in introducing a more pragmatic approach to Javascript with Django [0]. Plus he's built a strong Slack community and is always around to support and listen to any feedback.

We re-built our SaaS product using this boilerplate and wrote about the experience [1]. TL;DR: would recommend!

[0] https://www.saaspegasus.com/guides/modern-javascript-for-dja...

[1] https://davidkell.substack.com/p/davids-opinionated-guide-fo...

davidkell commented on Ask HN: Language-agnostic concepts a Backend Engineer should know?    · Posted by u/nicksont
Zealotux · 5 years ago
I'm currently learning back-end coming from a front-end career, and I started reading "Designing Data-Intensive Applications" by Martin Kleppmann, seems to be a must-have for anyone who wants to get serious in this field.
davidkell · 5 years ago
+1 For this recommendation, an exceptional book. In particular chapters 2-3 demystify how databases work, and provides an intuition on when to use different kinds of databases and query languages without the typical hype (spoiler alert - use an RDBMS!)
davidkell commented on Django for Startup Founders: A better software architecture for SaaS startups   alexkrupp.typepad.com/sen... · Posted by u/Alex3917
Alex3917 · 5 years ago
> I was surprised that you didn't advocate for using traditional server-rendered HTML for views that don't require significant frontend interactivity/client-side state management?

I don't know that there's one best choice for how to render the front end. I generally like Angular because it's strongly opinionated, and in general, strong opinions in software leads to faster velocity and lower TCO. But I don't think that Angular is the universal best choice. I do however think having the front end powered by a REST API is 100% the right move, because it draws a line in the sand where if private data or incorrect data are getting returned then there is clearly an issue. Having a specific place (the JSON response) where you can write tests against is a huge win, one big enough that imho it outweighs every possible disadvantage of REST.

davidkell · 5 years ago
OK, that's an interesting POV.

To be honest, I was surprised that you advocated writing so many tests for each view, easily 10-20 per view.

Part of the beauty of Django's various class based interfaces is that you can be confident that if you add a validator to a model field, then it will be validated by the corresponding ModelForm in the corresponding CreateView.

But then again, you advocate against OOP in python including CBVs. If you do write all your endpoints as functions, it makes more sense you need to test it because it's easy to forget to include a line of validation or whatever it is.

FWIW I love the fact that various Django classes are like DSLs. DSLs are less powerful by construction, so less buggy. It is almost like using low-code. But I do see your point about tracking inheritance and control flow, it can be a challenge at scale.

u/davidkell

KarmaCake day121May 19, 2017
About
twitter.com/dvdkll
View Original