/ x86 → Now closed source aquired by Xamarin/Microsoft → Build complete iOS/Android Apps using native UI’s & full hardware access → Build dynamic frameworks for iOS (NEW)
with iOS → Dynamic Frameworks => best of both worlds → Nice IDE support with gradle and RoboVM studio → Great if Android & iOS are only platforms → Based on Bytecode!!! => Kotlin :)
string; store: set<string>; hash: map<string, i32>; values: list<another_record>; # Comments can also be put here # Constants can be included const string_const: string = "Constants can be put here"; const min_value: another_record = { key1 = 0, key2 = "" }; } another_record = record { key1: i32; key2: string; } deriving (eq, ord)
C++ and can be called from any language. my_cpp_interface = interface +c { method_returning_nothing(value: i32); method_returning_some_type(key: string): another_record; static get_version(): i32; # Interfaces can also have constants const version: i32 = 1; } # This interface will be implemented in Java and ObjC and can be called from C++. my_client_interface = interface +j +o { log_string(str: string): bool; }
\ --java-cpp-exception DbxException \ # Choose between a customized C++ exception in Java and # java.lang.RuntimeException (the default). --ident-java-field mFooBar \ # Optional, this adds an "m" in front of Java field names \ --cpp-out CPP_OUTPUT_FOLDER \ \ --jni-out JNI_OUTPUT_FOLDER \ --ident-jni-class NativeFooBar \ # This adds a "Native" prefix to JNI class \ --objc-out OBJC_OUTPUT_FOLDER \ --objc-type-prefix DB \ # Apple suggests Objective-C classes have a prefix for each defined type. \ --objcpp-out OBJC_OUTPUT_FOLDER \ \ --idl MY_PROJECT.djinni
→ Mobile development (native + cross-platform + mobile web) → Mobile Gateway / MBaaS (Red Hat Mobile Application Platform) → Mobile strategy & mobile UX → Agile coaching (Scrum, Lean, TDD, ...)