MyAppConverter is a powerful service that helps developers convert native iOS mobile apps instantly to native Android app, it's not focused mainly on the look and feel, and UI interaction of your app. That means we don't replicate your application as it is. Instead, MyAppConverter make all changes to make a project suitable for the development of an Android application.
MyAppConverter currently support only iOS to Android conversion and objective-c to swift.
1. January 2016
Native to Native mobile code
conversion
By Kamal YOUBI
CEO & CTO of MyAppConverter.com
2. Summary
• What is MyAppConverter
• The Core Transformation Engine
• Semantic Driven Transformations
• As Developers, why would you care?
• Using MyAppConverter Conversion service
• Ios Applications Lifecycle
• Generated Android Lifecycle
• The native structure of the mobile applications :IOS
• The native structure of the mobile applications :Android
• Mappings method signatures
• MyAppConverter language Syntaxes Mappings
• MyAppConverter Mapping Platform differences
3. What is MyAppConverter?
No SDK to download No Runtime
All platforms Peace of Mind
Instantly & Automatically
Native Code Conversion
(Online or via IDE plugin)
Your converted code is native
with no embedded runtime for
maximum performance
Currently supporting
iOS to Android & will be
extended to other platforms
We don't store nor share any
of your data and code
5. Technology
Architecture
Business
Semantic
Level of Abstraction
Source Application Target Application
• Mapping By intent
• Transformation as a service
• Native to native
• Readable and documented code
• No embedded Runtime
• Multi-platform coverage
• No Editor Dependency
• Low scalability
• No useable Code
• Embedded Runtime
• Strong Editor Dependency
if
(
A
A
=
=
A
A
)
t
h
e
n
{l
o
g(
“
t
e
s
t
“
) if
(
A
A
=
=
A
A
)
t
h
e
n
{l
o
g(
“
t
e
s
t
“
)
}
}
if
(
A
A
=
=
A
A
)
t
h
e
n
{l
o
g(
“
t
e
s
t
“
) if
(
A
A
=
=
A
A
)
t
h
e
n
{l
o
g(
“
t
e
s
t
“
)
}
}
Semantic DrivenTransformation
6. As Developers, why would you care?
• Total freedom to develop on your favourite platform without limiting
yourself to other platforms
• Your converted code is fully documented & readable
• Being platform and technology agnostic, we guarantee the
scalability of your code
• Enabling open source mapping will allow developers to benefit from
all the technologies and market innovation across all platforms
• You will be part of an active, vibrant and global community of
developers across borders and technologies
• You want to create mobile apps that can be available to anyone,
anywhere no matter what the smartphone is and with the best UX
14. MyAppConverter language Syntaxes
Mappings
• Classes
• Categories
• Enums
• Structs
• Pointers
• Memory management
• Blocks
• Protocols
• Primitive types
• Data structures
• Casting
• Typedef
• Macros
When converting objective c to java MyAppConverter takes care of all the
following aspects of the language. The Mapping knowledge base provide an
implementation for each element of the following in the target platform
16. MyAppConverter Mapping Platform
differences
• The system Back button
Android phones have a back button, which can be used to return to previous screens
in the app.
iPhones don’t have this button, this is
usually done by a “back” chevron in the top
left of the screen, MyAppConverter
Convert itto a back button and mapps the
android back button to the same event
17. MyAppConverter Mapping Platform
differences
• Bottom tabs
– On iOS, it’s common to use a bottom tab bar to switch between views in the
app. Android’s platform convention is to display tabs for view control at the
top of the screen instead. In addition, Android apps may use bottom bars to
display actions.
• Gestures
– Offering touch gestures to operate your app is a great way to make the
experience fast, fluid and delightful. You should always be mindful of user
expectations for gesture-based interaction on a platform. On Android, most of
the common gestures have very standardized behaviors, so users will expect
your app to support those. There’s an entire section in the material design
guidelines covering gestures, but it’s most important to get a couple of the key
gestures right.
18. MyAppConverter Mapping Platform
differences
• Bottom tabs
– On iOS, it’s common to use a bottom tab bar to switch between views in the
app. Android’s platform convention is to display tabs for view control at the
top of the screen instead. In addition, Android apps may use bottom bars to
display actions.
• Gestures
– Offering touch gestures to operate your app is a great way to make the
experience fast, fluid and delightful. You should always be mindful of user
expectations for gesture-based interaction on a platform. On Android, most of
the common gestures have very standardized behaviors, so users will expect
your app to support those. There’s an entire section in the material design
guidelines covering gestures, but it’s most important to get a couple of the key
gestures right.