FLEX vs PonyDebugger: What are the differences?
What is FLEX? In-app debugging tool for iOS, inspect and modify views in the hierarchy. FLEX (Flipboard Explorer) is a set of in-app debugging and exploration tools for iOS development. When presented, FLEX shows a toolbar that lives in a window above your application. From this toolbar, you can view and modify nearly every piece of state in your running application.
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..
FLEX and PonyDebugger can be categorized as "Mobile Runtime Inspector" tools.
Some of the features offered by FLEX are:
- Inspect and modify views in the hierarchy.
- See the properties and ivars on any object.
- Dynamically modify many properties and ivars.
On the other hand, PonyDebugger provides the following key features:
- Network Traffic Debugging
- Core Data Browser
- View Hierarchy Debugging
FLEX and PonyDebugger are both open source tools. It seems that FLEX with 10.5K GitHub stars and 1.2K forks on GitHub has more adoption than PonyDebugger with 5.71K GitHub stars and 597 GitHub forks.
What is FLEX?
What is PonyDebugger?
Need advice about which tool to choose?Ask the StackShare community!
What are the cons of using FLEX?
What are the cons of using PonyDebugger?
Sign up to get full access to all the companiesMake informed product decisions
What tools integrate with FLEX?
What tools integrate with PonyDebugger?
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.