1,076 karma · joined December 26, 2008
email me at mathews.kyle@gmail.com
Github is https://github.com/kyleamathews
my public key: https://keybase.io/kylemathews; my proof: https://keybase.io/kylemathews/sigs/vU0bed6I81ah3mr7DdfCiZxzAVSIeCuM8bELiMk8Aa0
And yeah... 0.x is definitely too magical. A lot of the changes in 1.0 are to make things more explicit and less magical. So even if there's a bit more typing, you'll feel more in control. 1.0 will also be adding a theme system which will hopefully preserve the "really easy to get going feel" while making it much easier to program whatever your project dictates once you deviate from the norm.
Gatsby aims to be a compiler of sorts to simplify making really high performance websites so even low-budget websites and webapps can join in the fun.
(Author of post and Gatsby)
Gatsby at build time generates a static HTML version of each page. Which makes the initial load time of a Gatsby site super fast. The browser then loads the minimum Javascript necessary to make that page interactive. Then in a service worker, it starts prefetching Javascript and data necessary for other pages so that when you click on a link, it takes very little time to fetch the code/data and then make the page transition.
A couple sites running 1.0 code that you can check out are my blog https://www.bricolage.io/ and an example site cloned from Instagram https://gatsbygram.gatsbyjs.org/
I wrote up the performance plans for Gatsby in this issue [1].
One analogy I came up for that which I really like is to JIT or lean manufacturing.
Quoting myself:
"There's a close analogy to just-in-time manufacturing ideas. Companies found that the way to be the most responsive to customers is to actually avoid doing work ahead of time. When they did do work ahead of time this would paradoxically slow them down as the speculative work would get in the way of getting the work done that's actually necessary (resource contention).
For both manufacturing and web apps there's high inventory cost (unused code takes up memory) and a premium on responsiveness. The car customer wants their new car yesterday and the web app consumer wants their app running immediately. Any work you do ahead of time because "they might need it" gets in the way of the app being responsive to the user.
With both you want to wait until the user asks for something and then work overtime to get it to them as fast as possible."
[0] https://github.com/gatsbyjs/gatsby [1] https://github.com/gatsbyjs/gatsby/issues/431
A direction that'd be interesting to explore is a guided query writer. Perhaps have a floating query input box and if you click on a type, it adds a query. Then you could edit the query and as you add/remove fields & connections, it highlights the equivalent areas of the visualization.
FWIW, while I'm in the US so don't really understand developing for very poor networks, the methods I'm describing is exactly what companies in India and other places with poor networks are adopting: https://developers.google.com/web/showcase/2016/flipkart
This is also a good read https://developers.google.com/web/fundamentals/performance/p...
But in any case, client-side routing to me is a nice-to-have not the killer feature for Gatsby. Building web sites with the React component model is the killer feature for me.
I totally agree that for many sites, using Phenomic or Gatsby would be overkill.
But for something small, it doesn't really matter what tool you use as long as it's familiar. For small projects, familiarity trumps any other concern.
React came out of Facebook that needed a frontend technology that could scale to 1000s of developers.
Gatsby and Phenomic are both an attempt to port the best of the React ecosystem to the world of building web sites. They're designed so that as your website gets larger and you add more people, the code still feels simple and it's still easy to make changes and add new features.
So yes there's a learning curve and some overhead but it really pays off for larger projects.
And the nice thing is that once you understand them, they're now familiar so just as easy to use on small projects as any other solution.
Seeking projects pushing static sites to their limits. Offline, Service workers, AppShells, PWA, etc. Working fulltime on my open source project Gatsby (https://github.com/gatsbyjs/gatsby) and am looking for people who want to build with it.
See also my blog post https://bricolage.io/gatsby-open-source-work/
"rhythm" is a virtual unit that's the distance of one line-height. All spacing within Typography.js are based on it. Using "rhythms" for other spacings on your site ensures everything stays consistent as you make styling tweaks.
"scale" is a function to pick font sizes off the scale you setup (with scaleRatio). This let's you tweak the body font size and all other font sizes will move along with that.
It's a JS library that you provide a configuration object and it generates your type/spacing CSS. I love Tachyons and am planning on building a plugin for Typography.js which will generate tachyon-like classes.
Pitch: "Gatsby is a React.js static site generator. It transforms plain text into dynamic blogs and websites using the latest web technologies."
That being said, the core engine is quite solid and the themes are ready to be used.
CSS is a very low-level language for expressing design intent. It's great if you want to set the background color but if you say: "I'd like to add white space to my typography" — it could take dozens of recalculations + css changes to test your idea.
Typography.js's goal is to create the most elegant/powerful API possible for defining your site's typography and remove a lot of the tedium/difficulty around experimenting with your design.
Would love feedback / help!
https://github.com/kyleamathews/typography.js http://kyleamathews.github.io/typography.js/
"Relax isn't yet ready for production, stay tuned for releases, beta version will come soon"
We're building the tools companies need to accelerate relationship and trust building in the internet age.
Hiring soon our 1st and 2nd engineers (I'm the technical co-founder). We're looking for a dataops/frontend engineer with strong preference for product oriented & full-stack capable/interested candidates.
Tech stack includes React.js, Relay/GraphQL, Elasticsearch, Redis, Node.js. Using event sourcing and soon adding Kafka + Kubernetes.
We're an early stage startup so plenty of room to own and design significant parts of the product. Work with cutting edge technology in an exploding market.
Roles: * Frontend engineer (React.js, React Native, Chrome extension) * Data engineer (Node.js (though flexible on backend language(s)), event sourcing). * Data scientist (analyze "data exhaust" from companies to help with sales/marketing).
That code is more the equivalent of a digging stick. React is used to build horse-drawn carriages. I'm eagerly awaiting the JS framework that'll let me build cars.
Bug report — it told me I had too many exclamation marks in a Markdown file with a number of images in it.