As an electronica producer for over 10 years, I've worked with all kinds of software platforms and hands down, one app rises above the rest for both production and performance – Ableton Live. Whether you're new or looking for alternatives, Ableton should be the first app you consider; I'm certain it will be your last.
Using Ableton Live for Production
This beautifully designed program has an incredibly flexible interface, allowing you to get basic ideas fleshed out within minutes, quickly selecting from scores of preset synthesizers, real instruments and drum sets. If using analog sounds is your preference, no problem. With Live you can record your favorite synths quickly and add unique effects to dress it with the perfect sound. Need vocals? Simply hook up your digital audio hardware in Live's preferences and record quickly and effortlessly.
If you want to extend the built-in sound library or effects, that's absurdly easy too. The extended Ableton Suite has hundreds of unique instruments, synths and drum sets to choose from. Additionally there are many freelance developers like Pure Magnetik releasing distinctive sound packs to please just about any individual need.
Using Ableton Live for Performance
If you want to perform your original tracks live, there's never been a more robust and stable system. There are several ways to set up a Live set for performance. The first mimics DJing, in a manner similar to Traktor or Serato, where you mix finished full-length songs. However, the most common technique is to break up your tracks (synths, bass, drums, etc) into unique "clips" where you can remix your tracks on the fly, smoothly mixing from one song to the next during the course of your performance .
Mixing from your laptop requires additional hardware, and fortunately there are a number of controllers and DJ mixers that work seamlessly with Live to trigger clips, mix pans and volumes, create sound layers and apply effects. I originally worked with Allen & Heath's Xone 3D as it combines a regular DJ mixer with additional Ableton controls. More recently there have been several equipment releases like the Akai APC40 which appears to be the best controller yet for performing with Live (it was developed in partnership with the Ableton team).
Almost all DJ controllers that work with Live are designed to be used like traditional DJ mixers where you can monitor tracks in your headphones without the audience hearing. If you do a YouTube search you can find many videos of producers and performers describing their experience with their favorite controller – without a doubt you can find a piece of gear that suits your unique performance style.