260 likes | 453 Views
Dispelling Cross-Platform Software Development Myths. Cross-Platform GUI Programming with wxWidgets. Kevin Hock August 2005. Overview. Who am I? What is cross-platform development? Why cross-platform? Cross-platform myths Recap wxWidgets wxWidgets book. Who am I?. Miami University (OH)
E N D
Dispelling Cross-Platform Software Development Myths Cross-Platform GUI Programming with wxWidgets Kevin Hock August 2005
Overview • Who am I? • What is cross-platform development? • Why cross-platform? • Cross-platform myths • Recap wxWidgets • wxWidgets book
Who am I? • Miami University (OH) • Visiting Instructor • Founded BitWise Communications • Created BitWise IM • wxWidgets developer • wxWidgets book co-author
What is cross-platform? • Applications for multiple platforms • Platform-agnostic API • Write once, compile/run everywhere • GUI layout • Advanced classes
Why cross-platform? • Heterogeneous world • Growing Linux / OS X markets • Increased market share • Increased customer satisfaction • Not locked to a platform
Myth #1:Slow applications • wxWidgets is a thin wrapper • CPU speeds increasing • Few real-time applications Mahogany Mail (Linux)
Myth #2:Large libraries required • Thin wrapper • Statically link wxWidgets • Avoid rpm / so / dll issues • Compare sizes on Windows:
Myth #3:Poor mobile support • Windows CE • GPE using GTK+ • wxX11 uses only X • Palm OS 6 • Adjust window layouts (small) Life! on GPE
Myth #4:Non-native appearance • Uses OS widgets, not a skin
Myth #5:Awkward window layout • Sizers adapt to • Fonts • Languages • Widget sizes • Window sizes
Myth #6:Non-standard dialogs • wxWidgets uses standard OS dialogs Native, used by wxWidgets Non-native, used by another library
Myth #7:Lowest common denominator • Generic widgets bridge gaps • Platform-specific classes (wxWebkit) • Custom-drawn application widgets • Platform-specific code Audacity Sound Editor (Linux)
Myth #8:Have to learn OS details • wxWidgets abstracts – common API • wxMenuBar, About / Preferences • wxSound • wxConfig • wxSingleInstanceChecker • wxLaunchDefaultBrowser
Myth #9:Complicated, unstable • “More often than not wxWidgets gets out of the way of the programmer.” • Well structured, easy to use API • Excellent documentation • 12 years of evolution • Worldwide community • Lists, newsgroups, forums, wiki
Myth #10:Locked into one vendor • Open source • Worldwide community • Cannot be discontinued • Not a company, no profit motive • Community support • wxCode: community extensions
Myth #11:Locked into a technology • Standard C++, no extensions • Use standard C++ libraries • Library-agnostic • New technologies embraced • Free upgrades to new technologies!
Why choose wxWidgets? • Avoids common cross-platform issues • Open-source • 12 years of evolution • Worldwide community • Many supported platforms • Advanced features
Who uses wxWidgets? • Open source projects • Small businesses • Large organizations: • AMD • AOL (Communicator) • Carnegie-Mellon University • Grisoft (AVG Anti-Virus) • Lockheed Martin • NASA • OSAF - Chandler • Xerox OSAF’s Chandler (Linux)
What’s in the book? • Concepts & overviews • Class descriptions • Code examples • Discussions • Project setup guides • CD-ROM: code & utilities
Conclusion • Powerful cross-platform framework • Heterogeneous world • Target additional platforms • Agile movement among platforms • wxWidgets book • Questions?