|8 months ago||over 1 year ago|
|MIT License||MIT License|
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.
Lessons learned from migrating a native iOS app to Flutter
2 projects | news.ycombinator.com | 9 Jan 2022
In the article, he mentions the need for a DOM parser dependency for his app, as Swift “does not have one.”
> AEXML was needed to parse some XHTML files as the native iOS SDK does not provide a DOM parser.
I have used Foundation XML parsers for many years, but they are general-purpose; not specifically modeled on DOM or HTML, which probably limits usefulness on some Web content.
That said, if he has control of the content (don’t know the app, so I am not sure), then there should be no reason that they couldn’t render it in XHTML, so the Foundation parser could be used reliably. In the article, he mentions that the content is XHTML. I have to assume that AEXML is easier to use than the built-in parser. It uses Foundation parsing (it actually seems to be a lightweight wrapper for the built-in parser(, under the hood (and seems to be a well-written dependency).
So, it could be posited that he would only need one dependency for his native version, if he wanted to handle the XHTML parsing, himself.
What are some alternatives?
Fuzi - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support
SWXMLHash - Simple XML parsing in Swift
XMLParser - A lightweight XMLParser for assembling and parsing XML values written for iOS 8+ in Swift 2.
AlamofireXmlToObjects - Fetch a XML feed and parse it into objects
XMLCoder - Easy XML parsing using Codable protocols in Swift
XMLMapper - A simple way to map XML to Objects written in Swift
CheatyXML - CheatyXML is a Swift framework designed to manage XML easily