shale VS SimpleAMS

Compare shale vs SimpleAMS and see what are their differences.

shale

Shale is a Ruby object mapper and serializer for JSON, YAML and XML. It allows you to parse JSON, YAML and XML data and convert it into Ruby data structures, as well as serialize data structures into JSON, YAML or XML. (by kgiszczak)

SimpleAMS

Fast modern plain Ruby serializers using zero dependencies (by vasilakisfil)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
shale SimpleAMS
7 1
603 238
- -
5.3 0.0
about 2 months ago over 2 years ago
Ruby Ruby
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

SimpleAMS

Posts with mentions or reviews of SimpleAMS. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-31.
  • Show HN: Shale – a Ruby object mapper and serializer for JSON, YAML and XML
    8 projects | news.ycombinator.com | 31 May 2022
    Serialization/deserialization is such an important part of web development, I have no idea why Rails includes the ancient JBuilder (and very slow since it goes through templating) library, instead of investing in a proper library. Let alone deserializing which is equally important..

    I think the API Shale provides is pretty sane. I would probably use it in my next Ruby/Rails project. I don't like the fact that Nokogiri is included by default, it would be nice to declare a core type, and then bring in what you need (JSON, XML, YAML) as a different gem. But that's not a deal breaker for me.

    I have created my own serializers in the past (SimpleAMS[1]) because I really detested AMS, no offence to AMS contributors, but AMS library should just die. Rails, and way more importantly Ruby, should come up with an "official" serializers/deserializers library that is flexible enough, rock solid and fast. For instance I had done some benchmarking among common serializer libraries [2] and AMS was crazy slow, without providing much flexibility, really (meaning, slowness is not justified). Others were faster, but were supporting only one JSON spec format (like jsonapi-rb).

    Another thing is that most serialization libraries seem to have ActiveSupport as a main dependency (not shale though) which I think is a bit too much, and actually has a performance hit on the methods it provides. I really think that Ruby community can do better here ?

    [1] https://github.com/vasilakisfil/SimpleAMS

What are some alternatives?

When comparing shale and SimpleAMS you can also consider the following projects:

HappyMapper - Object to XML mapping library, using Nokogiri (Fork from John Nunemaker's Happymapper)

alba - Alba is a JSON serializer for Ruby, JRuby and TruffleRuby.

Oga - Oga is an XML/HTML parser written in Ruby.

oj_serializers - ⚡️ Faster JSON serialization for Ruby on Rails. Easily migrate away from Active Model Serializers.

Tomlrb - A Racc based TOML parser

shale-website - Landing page and interactive documentation for Shale - JSON/YAML/TOML/XML mapper and serializer for Ruby.

TOML - Parse TOML. Like a bawss.

grape-entity - An API focused facade that sits on top of an object model.

ROXML - ROXML is a module for binding Ruby classes to XML. It supports custom mapping and bidirectional marshalling between Ruby and XML using annotation-style class methods, via Nokogiri or LibXML.

Nokogiri - Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.

tomlib - Tomlib is a fast and standards-compliant TOML parser and generator for Ruby.

raabro - a Ruby PEG parser library