Alpaca

Dev tools

client library generator

SHOW HN2014

Legend

Alpaca

Given an API, Generate client libraries in Node, Python, PHP, Ruby

github.com

#api client generator#rest api#client library#code generation

268points
73comments
#56of 2,272 in 2014
Top 3%of 2014 by points

How HN took it

CuriousMostly questions and neutral comments

8 positive, 18 neutral or asking, 3 mixed, 6 critical, out of 35 comments about the project. Thread score +0.10.

Idea: 4 for, 3 againstExecution: 1 for, 2 againstDesign: 1 for, 1 againstDocs: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Useful, well-documented project with fast responses to pull requests

    From 1 comment
    • Useful, well-documented, TODOs right in the readme, and fast response for pull requests. I wish every open source project was like this.
      egonschiele on HN

Objections

  • Generated clients lack tests

    From 2 comments
    • Just tried this out and Alpaca is an awesome tool. However, I'd never want to release this in production without tests. Alpaca doesn't generate tests, so you're back to…
      jxf on HN
    • If you have programmatically generated code, generating tests is almost completely useless (especially if the same code is generating the tests as well). A bunch of passing tests…
      dsl on HN
  • Hypermedia APIs are a better fit than generating clients

    From 1 comment
    • Wouldn't it be wiser to choose a hypermedia format for the API, and then use a generic hypermedia client on whichever platform you like? Then you write just as many client…
      gamache on HN
  • Authentication and OAuth support is limited

    From 1 comment
    • Describing an API is not hard, but the API authentication method is. How do you think you will do it? Edit : If you don't make oauth consumption simpler, you don't really solve…
      johnnyio on HN

Requests

  • Support for Objective-C, Java and Scala

    From 2 comments
    • Hey, I noticed you mentioned that you were interested in having client library generation in Obj-C, Java, and Scala, yet all of the existing client lib support is for dynamic…
      rybosome on HN
    • Great idea! Including Obj-C would be very helpful.
      elwell on HN
  • Use an existing schema standard instead of a new format

    From 2 comments
    • Why create a new format for describing APIs instead of using something like RAML? The client library generation is very useful, but it would be nice if there wasn't yet another…
      michaelmior on HN
    • Very cool, but why come up with a new API schema rather than use an open standard like OData (http://www.odata.org/)? Then Alpaca would be compatible with a bunch of APIs that…
      jodoglevy on HN

Questions

  • How does it differ from Swagger, Blueprint and similar tools

    From 1 comment
    • How do you differ from Swagger, Blueprint, I/O Docs, RAML and all these API endpoint descriptions?
      htuao on HN

Alternatives named

  • Apache Thrift

    From 1 comment
  • Swagger codegen

    From 2 comments
    • https://github.com/wordnik/swagger-codegen
      matt_kantor on HN
    • https://github.com/wordnik/swagger-codegen does javascript, scala, java, objective-c, php, python (3), ruby, android, and even flash Also has the benefit of a commercial backer…
      fehguy on HN
  • SPORE

    From 1 comment
    • I like the SPORE (Specification to a POrtable Rest Environment) approach better. You create a description file in JSON and each native language client can use that file to access…
      kimmel on HN
  • WSDL

    From 1 comment
    • Am I right in thinking about this like a WSDL, but based on JSON?
      mikekekeke on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/7005348)