What does HackerNews think of react-starter-kit?

The web's most popular Jamstack front-end template (boilerplate) for building web applications with React

Language: TypeScript

#3 in GraphQL
#27 in JavaScript
#10 in Node.js
#7 in React
#1 in React
#3 in Serverless
#10 in TypeScript
Part-time can be a great fit for developers who use their own stack and stick to a consistent architecture across multiple projects. For instance, I personally begin each of my projects with the same template (https://github.com/kriasoft/react-starter-kit 23k). This approach reduces overhead when juggling multiple tasks, allowing me to seamlessly make changes in one place and effortlessly push and merge updates into various upstream repositories for different clients. Excited about this efficiency-boosting method? Check out my new blog post where I delve into the details: https://medium.com/@koistya/enabling-efficient-front-end-dev.... Good luck with your project!
Full-stack software engineer and DevOps, 20+ years of professional experience (often in a founding team member role)

  Location: St. Petersburg, Russia (GMT+3)
  Remote: Yes
  Willing to relocate: Yes
  Technologies: GraphQL, React/Relay, Node.js/JavaScript/TypeScript, Webpack/Rollup/Babel, Material UI, Draft.js/SlateJS, .NET/C#, PostgreSQL, Redis, Google Cloud Platform, Cloudflare
  Résumé/CV: https://www.linkedin.com/in/koistya
  Email: [email protected], Skype/Telegram/Twitter: koistya, Discord: koistya#2673
I can help you design and develope a GraphQL API server for your web and/or mobile app as well as CI/CD workflows, optimized for serverless infrastructure in Google Cloud Platform. The initial version (first iteration) will be ready and live in under three days! I'm also open for a technical co-founder role in your startup or interested in you as a business co-founder in one of my side projects.

Code examples: https://github.com/kriasoft/node-starter-kit https://github.com/kriasoft/react-starter-kit https://github.com/kriasoft/graphql-starter-kit

(disclaimer: Author of Vecty here, the toolkit being used by OP)

I can see how you came to that conclusion, but I'd offer a different perspective.

The problem in my opinion with the Javascript landscape is, as you said, the fact that it is too fractured.

If you follow the "modern best practices" to make a SPA, you are talking about pulling in at least: npm, webpack, react, react-router, lodash, redux, bootstrap, and perhaps much more.

You are going to need to set up each one of these to play nicely with each-other, and follow tutorials/guides for each one to get them set up before you can even begin to start writing code for your actual application. Just look at the getting started guide for webpack to see how complex this can already be [1].

Why can't there be a consensus on what tooling/libraries are "standard" for writing an SPA React application today? Setting up the above tooling/libraries should not take multiple hours for someone with no frontend experience, but it does.

There are "starter kits" [2] to try and solve this problem, but dear god just look at how many moving parts they already have!

---

My overarching point is this: the Javascript ecosystem does not seem interested in solving this issue ultimately. This fractured-but-whole approach to development seems to be the consensus for that ecosystem. And that's OK.

For a majority of non-frontend devs who would like to enter the frontend, though, it's not okay. And this change in mindset is what WebAssembly can bring. It brings a different ecosystem and a different set of people with diverse mindsets that you just can't find today in the JS ecosystem easily.

[1] https://webpack.js.org/guides/getting-started/ [2] https://github.com/kriasoft/react-starter-kit

Why that? I think the number of starter/boilerplate projects for React is already overwhelming.

I wish create-react-app was the only one way to start a React project, but it has its own limits:

- not intended for server-side React apps

- not intended for React components library

- not intended to be used with TypeScript but Flow (could change with the next major version tho)

Still, there are already so many alternatives, some of them just reinventing the wheel. Do we really need another one? I'm not sure.

- https://github.com/facebook/create-react-app (50k stars)

- https://github.com/react-boilerplate/react-boilerplate (19k stars)

- https://github.com/kriasoft/react-starter-kit (18k stars)

- https://github.com/davezuko/react-redux-starter-kit (10k stars)

- https://github.com/insin/nwb (3k5 stars, support Preact & Inferno & components libraries)

- https://github.com/zeit/next.js (26k stars, server-side support, very opinionated)

- and so on… just type "react boilerplate/starter/toolkit" on google. Most of them are out-of-date and not maintained, making the process of choosing one ever more overwhelming.

I upvoted thinking it was this identically named project (but with 17k star) which I've found extremely helpful in the past: https://github.com/kriasoft/react-starter-kit
The process stuff would probably be off-topic. But for something to get started with quickly, this is good:

https://github.com/kriasoft/react-starter-kit

Redux-friendly, too.

Thanks for the perspective. I guess I ran into this very thing.

React itself is actually a pretty simple library. The problem is that it's not the whole story, so you need other bits and pieces to put together a functional SPA. Ender redux, react-router, etc. And because React tries to explicitly not be so opinionated about what you should use, the way you learn about this stuff is not from the official tutorial, but from various blog posts.

There are also resources like this: https://github.com/kriasoft/react-starter-kit. On the surface it's great. But for my taste it's organized very poorly. You have all your reusable (NB: reusable != reused) components in one place, and all your pages in another. Each component consists of exactly 3 files that are 3 directory levels down. Pages (views? containers?) are in a separate directory structure where each page consists of 3 files that are 3 directory levels down. I guess if your SPA consists of hundreds of pages/views/containers with most components reused many times this makes sense. For my applications (low dozens of pages/views/containers) this seems like a huge overkill.

And don't get me started on the redux theory of all global state all the time, which actually seems to not be ideal for things like "I just want a more complex ", and you have a very scattered learning curve.

By contrast, Vue has a pretty sane slightly opinionated learning curve. Sure, there are a few things you need to figure out (XHR/Websockets + VueX + promises don't have a decent recipe in the docs), but overall it's much more coherent.

> You want to start to learn from a starter kit. here: https://github.com/kriasoft/react-starter-kit

Well, that was your first mistake.. The official react starter kit from Facebook is a lot more basic: https://facebook.github.io/react/docs/getting-started.html

Secondly, calm down, and maybe try to look around for better education materials than rage against the machine, where the machine is {Facebook, Big Tech, github/kriasoft}

This article is just a rant, first against tech company profits, then against react, then against someone's bundle having too many libraries, then against people who try to solve too many problems at once.

SEEKING WORK: Full-stack web developer since 2001, Microsoft Certified Professional, Windows Azure Insider, author of Isomorphic Application Development (Packt), React Starter Kit

  Location:     Saint Petersburg, Russia (MSK, GMT+3)
  Technologies: Azure/DevOps, .NET/C#, MSSQL/Postgres/SQLite, MongoDB,
                Node.js/JavaScript/Babel, OAuth, Webpack, Sequelize,
                React/GraphQL, CSS/SCSS, Mocha/Chai, Material Design
  Profile:      https://www.linkedin.com/in/koistya
  Reviews:      https://www.codementor.io/koistya#/review
  Email:        [email protected]
My recent projects on GitHub:

* https://github.com/kriasoft/react-starter-kit (Node.js, Babel, Webpack, React, GraphQL)

* https://github.com/kriasoft/babel-starter-kit (ES2015, JavaScript, Babel, Rollup)

* https://github.com/membership/membership.db (PostgreSQL, Microsoft SQL Server)

Full-stack web developer since 2001, Microsoft Certified Professional, Windows Azure Insider, author of Isomorphic Application Development (Packt), React Starter Kit

  Location:     Saint Petersburg, Russia (MSK, GMT+3)
  Remote:       Yes
  Willing to relocate: Yes
  Technologies: Azure/DevOps, .NET/C#, MSSQL/Postgres/SQLite, MongoDB,
                Node.js/JavaScript/Babel, OAuth, Webpack, Sequelize,
                React/GraphQL, CSS/SCSS, Mocha/Chai, Material Design
  Résumé/CV:    https://www.linkedin.com/in/koistya
  Reviews:      https://www.codementor.io/koistya#/review
  Email:        [email protected]
My recent projects on GitHub:

* https://github.com/kriasoft/react-starter-kit (Node.js, Babel, Webpack, React, GraphQL)

* https://github.com/kriasoft/babel-starter-kit (ES2015, JavaScript, Babel, Rollup)

* https://github.com/membership/membership.db (PostgreSQL, Microsoft SQL Server)

What I can do for you:

* Setup and maintain the base project structure for your web app

* Enforce component-based development approach and progressive enhancement

* Configure cloud-based infrastructure, CI and automated test suites

* Solve problems related to software architecture and scalability

* Conduct code reviews, provide feedback what can be improved on the technical side

...that will save you lots of time and money while your core team can work on real application features and don't bother about infrastructure and the groundwork.

@Cartwright2: Meteor is heading in that direction with version 1.3. Cohesive toolchain that integrates the best from the Javascript world, that is modular if you want, but ultimately a fantastic developer UX designed for happiness and productivity.

Everything will just work with defaults. Not like this travesty: https://github.com/kriasoft/react-starter-kit

My preferred boilerplate is [1], [2] is also pretty good. I think that the major issue is not React itself, but a bare minimum set of modules already pre-configured to work together, that for me are react-router, react-bootstrap, either flux or parse.

[1] https://github.com/MadeInHaus/react-flux-gulp-starter [2] https://github.com/kriasoft/react-starter-kit

The react-starter-kit is a great way to dive head first into ES6 and React. Just clone the repo, npm install and go. It's fully up to date with all recent React and ES2015/2016 goodness.

https://github.com/kriasoft/react-starter-kit

SEEKING WORK - St. Petersburg, Russia - Remote Only

I can help quickly bootstrap your web application project based on React.js Starter Kit (I'm the author of this project template):

URL: https://github.com/kriasoft/react-starter-kit Email: [email protected]

Also check out this React+Flux+Webpack project template which may help with getting to speed with React:

https://github.com/kriasoft/react-starter-kit

Me too :) Interested in building large-scale web apps remotely with React.js, .NET, Azure. Here is a sample project: https://github.com/kriasoft/react-starter-kit