PonyDebugger vs Stetho: What are the differences?
What is PonyDebugger? Remote network and data debugging for your native iOS app using Chrome Developer Tools. PonyDebugger is a remote debugging toolset. It is a client library and gateway server combination that uses Chrome Developer Tools on your browser to debug your application's network traffic and managed object contexts To use PonyDebugger, you must implement the client in your application and connect it to the gateway server. There is currently an iOS client and the gateway server..
What is Stetho? A new debugging platform for Android, built by Facebook. Stetho is a sophisticated debug bridge for Android applications. When enabled, developers have access to the Chrome Developer Tools feature natively part of the Chrome desktop browser. Developers can also choose to enable the optional dumpapp tool which offers a powerful command-line interface to application internals.
PonyDebugger and Stetho belong to "Mobile Runtime Inspector" category of the tech stack.
Some of the features offered by PonyDebugger are:
- Network Traffic Debugging
- Core Data Browser
- View Hierarchy Debugging
On the other hand, Stetho provides the following key features:
- Chrome DevTools UI
- Network inspection
- Database inspection
PonyDebugger and Stetho are both open source tools. It seems that Stetho with 11.2K GitHub stars and 1.03K forks on GitHub has more adoption than PonyDebugger with 5.71K GitHub stars and 597 GitHub forks.
What is PonyDebugger?
What is Stetho?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose Stetho?
What are the cons of using PonyDebugger?
What are the cons of using Stetho?
Sign up to get full access to all the companiesMake informed product decisions
What tools integrate with PonyDebugger?
What tools integrate with Stetho?
Pony Debugger brings [some of] chrome dev tools to iOS. Of the four big features it provides, the two most useful are the element inspector, and the Core Data browser.
If you've used Chrome dev tools, then you already know how useful the element inspector is. PonyDebugger attaches that exact interface to your iOS view hierarchy (plus element highlighting in the simulator!).
- specify the attributes you want to view in the element inspector window
[[PDDebugger defaultInstance] setDisplayedViewAttributeKeyPaths:@[@"frame",@"bounds"]]];
- edit them in the inspector and view the change in the simulator
- most of the other stuff you can already do on web
The view hierarchy inspection is fantastic, but the Core Data browser is probably PD's killer feature. Rather than logging a bunch of fetch requests (or whatever you used to do to make sure your cd object graph was in the state you expected it to be), you pass the PonyDebugger instance your managed object context[s] and then use the dev console to inspect every managed object the context[s] own. It's absurdly useful.