3 ms·
Hey all, I wrote this to talk a little about how I think about the future of software development in the next decade; I'm happy to chat about it if anybody has
by keithwhor 6y ago
Hey all, I wrote this to talk a little about how I think about the future of software development in the next decade; I'm happy to chat about it if anybody has any questions or additional thoughts. :)
- ufvy 6y agoUnfortunately Autocode doesn’t use graphql
- keithwhor 6y agoYou're half-right - we have a specification called FunctionScript [0] that can act as what's basically a universal translation layer for any API. You just generate a proxy to it using FunctionScript. So it's possible to add GraphQL APIs to our stdlib, it's just not convenient right now. All of Shopify is a GQL API, for example. The reason we don't support GQL APIs natively is because we designed Autocode to follow the best practices of the top API companies we knew; Twilio and Stripe. Both companies designed their SDKs in a way that feels natural: a call to their API is achieved via a namespaced function call -- it's very Railslike. Everything available in our stdlib follows that convention as we felt it was the most intuitive approach to API / SDK design. [0] https://github.com/FunctionScript/FunctionScript https://github.com/FunctionScript/FunctionScript
- ucarion 6y agoHow do you square this: > You can’t share a Zapier integration universally. With then plugging Autocode? How is an Autocode integration any more universal than a Zapier one? Also, how are you building the code for the various integrations Autocode supports? Is there some underlying interlingua that you codegen from?
- keithwhor 6y agoI'll show you. Here's an example of an Autocode "integration," or something in our standard library. It's a Halo API I added for fun. You can use the gamertag "citizen kwho" to find me. https://autocode.com/lib/halo/mcc/ https://autocode.com/lib/halo/mcc/ As you can see from the code examples, you just talk to it via an API key and a standard calling convention. It's completely portable. Autocode makes it easier to manage your tokens, code, etc. but you could port this to any Node.js codebase or make an HTTP request from anywhere. We have universal Ruby and Python libraries, too, but they're a little outdated. (Small team, have had to stay focused on Node.js for now.) Edit: I'll mention that technically anybody can add to our stdlib. We do a lot of the work ourselves right now, but it's fundamentally an open platform. Also see other comment re: FunctionScript specification and how we add APIs to the stdlib. :)
- cdcarter 6y agoIs there a place we can see the source for that Halo API binding?
- keithwhor 6y agoNot specifically for that API. I'd have to spend some time cleaning it up to open source it. But we have a really simple API connector example you can fork [0]. :) [0] https://autocode.com/app/keith/connector-pokefusion/ https://autocode.com/app/keith/connector-pokefusion/
- mchusma 6y agoDo you have a way to migrate Zapier zaps? I feel like since that is the dominant ecosystem, having a way to easily port Zaps would be very beneficial. Building one of these things correctly is significant work, and it's hard to justify the investment in new platforms.
- keithwhor 6y agoNot currently. We don't currently see a lot of migration from Zapier, but we do see a lot of net-new development. It's definitely something we've thought about but we have just as many users using us for general purpose scripting and webhooks as API automation.