Should you consider a cross-platform solution for your next app?
During this talk I presented an overview of some of the most popular cross-platform solutions. Also, I described how putting API specs at the center of your workflow could be a good alternative if cross-platform is not a good fit for your project or your team.
AppDays, Paris - November 15th 2017
6. CLASSHEROESNYC
Cross-platform :
Picking the best option for your next iOS/Android app
1. What do you mean by 'cross-platform'?
2. Pros and cons of a cross-platform
solution
3. Available cross-platform options
4. Our approach at ClassHeroes
16. CLASSHEROESNYC
Cordova / PhoneGap / Ionic
JavaScript frameworks
Mostly Web Apps with access to native APIs
Targeted at web developers
Limitations:
Performance
UI
23. CLASSHEROESNYC
Our app
Thin layer above the API
UI at the core
Team of native mobile developers
App Logic
10 %
UI
90 %
Not a good candidate for a cross-
platform approach 😞
25. CLASSHEROESNYC
We can do more 💪
Cross-platform : Keep platforms in sync
Our case: iOS, Android, Web, Back office
Solution: Exhaustive API specs
Swagger format
29. CLASSHEROESNYC
ActionScript
Ada
Apex
Bash
C# (.net 2.0, 4.0 or later)
C++ (cpprest, Qt5, Tizen)
Clojure
Dart
Elixir
Eiffel
Go
Groovy
Haskell (http-client, Servant)
Java (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x,
Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx)
Kotlin
Lua
Node.js (ES5, ES6)
Objective-C
Perl
PHP
PowerShell
Python
R
Ruby
Rust
Scala (akka, http4s, swagger-async-httpclient)
Swift (2.x, 3.x, 4.x)
Typescript (Angular1.x, Angular2.x, jQuery)
Client API code generation
swagger-codegen
Dozens of templates
Android: Retrofit, RxJava…
iOS: Objective-C, Swift…
Alternative: SwagGen (Swift)
30. CLASSHEROESNYC
What did we learn?
Specs are helpful
Global thinking about your product
Big velocity gains:
Independent implementation and tests
Focus on what's important
Monorepo