PROGRAMMING LANGUAGE
PATH
TYPE OF MOBILE APPS
 Native Apps
Native app development is coded in a language that’s supported natively by the specific
operating system of mobile devices. (Example: native iOS app vs. native Android app). This is
used if you’re building an app specifically for the Apple App Store or Google Play Store. This
is ideal for apps with a high level of customization that need to leverage native components
of each device. It’s great for gaming apps, VR apps, and apps with extensive graphics. But
one code won’t work on both platforms with native development.
 Hybrid Apps
Hybrid apps are for cross-platform development. These are coded in a single language that can run on multiple on both
iOS and Android.
This speeds up the development timeline as you’ll only have to code everything once, as opposed to twice (once for each
OS). Compared to native, you’ll lose a little bit of the flexibility in terms of what you can do with hybrid apps. But this is fine
for the vast majority of developers.
The most common topic you’ll hear when discussing mobile application development is the difference between native and
hybrid apps. This has become the great debate for developers for quite some time now.
As I briefly mentioned above, native apps are built for a particular operating system. So if you want to develop an app for
iOS and Android, you would need to build specifically for iOS and specifically for Android, separately.
There are pros and cons to this method, along with the others. We’ll take a closer look at the advantages and drawbacks of
these app development methods as we continue through this guide.
 PWA Apps
A PWA (progressive web app) is a lightweight app that runs in the URL of a device’s web browser. It
looks and feels like a mobile app, but it’s not delivered natively on the device.
Developers who have experience with web development can easily create PWAs. You’ll should already
be familiar with the coding languages used during the development process. So there’s not as much of
a learning curve.
With that said, these apps will be a bit more limited in terms of the ability to use native device
components.
IOS
PROGRAMMING
LANGUAGE
ANDROID
PROGRAMMING
LANGUAGE
Native
Development
Programming
Languages
Native Programming Pros:
 Most control over the device
 Low-level coding for cutting edge technologies that are added on to
the device
 Fastest access to latest and greatest features through your language
 Fastest in execution bottom line
Native Programming Cons:
 Slowest to develop
 Most costly development method
 Takes highest skilled and specialized mobile app developers to build for
iOS and Android
 High barrier to entry
 While native programming languages give you the most control over
your app, they are difficult to learn and take a long time to develop.
Unless you’re building a highly specialized app, you probably won’t
need to go the native route.
Hybrid
Programming
Language
 C#
Developed by Microsoft, C# (pronounced C sharp) is another object-oriented
programming language. It’s a popular programming language for game development
and command line scripting for Android operating systems.
Other low-code types of alternatives like OutSystems and Kony have an SDK that can
be used with different languages, not just one. There are other languages for mobile
app development that use system programming language with syntax similar to C#.
Using an IDE for hybrid development, the C# code is cross-compiled to run natively
on iOS and Android devices.
 Xamarin
Microsoft eventually acquired the Xamarin framework, which allows app developers
to program using C# against other frameworks. Technically, Xamarin isn’t a language.
It’s an open-source development platform for iOS, Android, and Windows
applications.
It’s a .NET platform that uses C# as its core language.
 React Native
Reactive Native uses JavaScript to communicate with pre-built functionality that is
native to their framework. This allows you to manipulate the UI, collect data, and
retrieve data so you can present it to the user.
Basically, this means that you’re heavily relying on JavaScript to manipulate native
components. Programming a mobile app this way has its pros and cons.
 Appcelerator
Like Reactive Native, Appcelerator also uses JS to communicate with functions to a native
framework. Appcelerator Titanium makes it possible to create native apps for iOS, Android,
and Windwows.
Appcelerator Pros:
 Using Java to manipulate something native
 Access native functionality directly from JavaScript
Appcelerator Cons:
 Doesn’t tap into things like HTML5 or CSS, which are technologies that are generally
used with anybody developing in JavaScript to freely manipulate their own user
interface
 Cordova/PhoneGap
Cordova/PhoneGap and Ionic type frameworks are really just built on top of the Apache Cordova
programming language. Hybrid mobile application development using this programming language are built
by porting over a web experience into a native experience.
This method allows you to build just like you would do for a website. So if you’re a web developer, you’ll feel
right at home here. It uses Javascript, HTML, and CSS. That web environment is ported over natively to iOS
and Android. The final software will work on multiple types of mobile devices.
 Pros:
Low barrier to entry
Anyone with a web development background can easily start programming this way
Learning curve is easy
 Cons:
Giving up a little bit of frame rate
PWA Programming Languages
 Ruby
Ruby is a general-purpose programming language that can be used for a wide range
of use cases, including PWAs. Lots of developers rely on Ruby for web applications
because of its simplicity.
The language has been around since 1990, and continues to be favorite in the
development community today.
While shipping code with Ruby is easy, finding bugs and debugging errors is not
always as simple. So just keep that in mind if you’re going this route.
 Python
Python is another general-purpose coding language. It’s an object-oriented language
that gives developers the flexibility for small and large-scale deployments alike.
In addition to PWAs, Python is commonly used for data analytics, data visualization,
websites, task automation, and other types of software.
Most developers would agree that Python is a bit more challenging than Java. It has a
steeper learning curve compared to other languages in this category.
 CSS
CSS (Cascading Style Sheets) is a rule-based language. It helps describe the presentation of
of code that’s written in markup languages, like HTML.
You can’t create a PWA with CSS alone. But you’ll likely use it as an addition to your JS or
HTML code.
 JavaScript
If you have web development experience, using JavaScript to create a PWA might be the
best option for you. You can use JS on top of HTML and alongside CSS to create your web
application from scratch.
Compared to other options for PWA, this has a lower barrier to entry for those of you who
have some basic technical knowledge and coding experience. But it’s not quite as flexible
as a Ruby or Python for PWA.
 PHP
PHP is a general scripting language that was first introduced in 1994. While it has
several potential use cases, PHP can also be used to assist PWA.
With that said, it’s not necessarily the best option. You can use PHP on the backend
for application, but you’d still want to serve HTML, CSS, and JS on the front end. Using
PHP to just create a website wouldn’t have the same look, feel, and capability as a
traditional PWA.
Coding App
 Coding apps like Grasshopper, Sololearn, and Mimo are all excellent options for
beginners. So if you’re just starting your journey as a developer, you’ll definitely
find these tools helpful.
 Alternatively, you can use an app builder to create an app without writing a single
line of coding. No-code app creators like BuildFire make it possible for anyone,
regardless of technical knowledge, to create an app for iOS and Android
simultaneously.
 https://techpresident.com/best-coding-apps/
 https://www.androidpolice.com/best-coding-apps/
Native
Hybrids
PWA
 Dasar Pemrograman (C++, Python, Ruby, Lua, Java, Php, JS, Go) – IDE (Intellij, Notepad ++, Sublime, Eclpise, VsCode dll)
 Algoritma & Struktur Data (C++, Python, Ruby, Lua, Java, Php, JS, Go)– IDE ((Intellij, Notepad ++, Sublime, Eclpise, VsCode dll)
 Pemrograman Berorientasi Objek (Flutter, React Native, Xamarin, Cordova, Android Studio)
 Pengembangan Aplikasi Berbasis Web (Express Js, Django, Rails, Laravel, Angular, React, VueJs)
 Pengembangan Aplikasi Platform Khusus (Flutter, React Native, Cordova, Appcelerator, Xamarin)
 Sistem Paralel Terdistribusi (http://www.cs.iit.edu/~iraicu/teaching/CS451-S14/index.html , https://www.cs.swarthmore.edu/~newhall/cs87/s10/ ,
https://drive.google.com/file/d/1kSKe-gEDi3CWURY2ozKpDHyjgGNJ0lFp/view )
 Teknologi IoT (Java, Python, Lua, PHPoC, C, Swift, JavaScript. Go, Rust)
 Pengembangan Aplikasi Terdistribusi (Docker, Kubernetes, JRebel)
 Visualisasi Data dan Informasi, IDE (Rstudio, Jupyter, D3.js, Google Chart, Tableu Software, Google Data Studio)  Python, R-Programming
MK Programming TI
MK Programming SI
 Paket Program Aplikasi, (MsOffice-MacroProgramming)
 Algoritma & Dasar Pemrograman (C++, Python, Ruby, Lua, Java, Php, JS, Go) –> IDE ((Intellij, Notepad ++, Sublime, Eclpise, VsCode dll)
 Struktur Data (C++, Python, Ruby, Lua, Java, Php, JS, Go) –> IDE ((Intellij, Notepad ++, Sublime, Eclpise, VsCode dll)
 Desain Arsitektur Web (https://www.simform.com/blog/web-application-architecture/, https://dev.to/lanars_inc/web-application-architecture-best-practices-
and-guides-35ek )
 Pemrograman Visual (https://www.postscapes.com/iot-visual-programming-tools/, https://en.wikipedia.org/wiki/Visual_programming_language , VSCode,
Android Studio, Scratch, Alice, Kotlin)
 Pemrograman Orientasi Objek (Flutter, React Native, Xamarin, Cordova, Android Studio)
WHICH
PROGRAMMING
Android
Developer
Backend
FrontEnd
React
Vue.js
Angular
Go
Java
JavaScript
Python
Tools UI/UX
 Figma
 Adobe XD
 InVision
 Sketch
 Origami Studio
 Adobe Comp
THANKS

Progamming Path.pptx

  • 1.
  • 2.
    TYPE OF MOBILEAPPS  Native Apps Native app development is coded in a language that’s supported natively by the specific operating system of mobile devices. (Example: native iOS app vs. native Android app). This is used if you’re building an app specifically for the Apple App Store or Google Play Store. This is ideal for apps with a high level of customization that need to leverage native components of each device. It’s great for gaming apps, VR apps, and apps with extensive graphics. But one code won’t work on both platforms with native development.
  • 3.
     Hybrid Apps Hybridapps are for cross-platform development. These are coded in a single language that can run on multiple on both iOS and Android. This speeds up the development timeline as you’ll only have to code everything once, as opposed to twice (once for each OS). Compared to native, you’ll lose a little bit of the flexibility in terms of what you can do with hybrid apps. But this is fine for the vast majority of developers. The most common topic you’ll hear when discussing mobile application development is the difference between native and hybrid apps. This has become the great debate for developers for quite some time now. As I briefly mentioned above, native apps are built for a particular operating system. So if you want to develop an app for iOS and Android, you would need to build specifically for iOS and specifically for Android, separately. There are pros and cons to this method, along with the others. We’ll take a closer look at the advantages and drawbacks of these app development methods as we continue through this guide.
  • 4.
     PWA Apps APWA (progressive web app) is a lightweight app that runs in the URL of a device’s web browser. It looks and feels like a mobile app, but it’s not delivered natively on the device. Developers who have experience with web development can easily create PWAs. You’ll should already be familiar with the coding languages used during the development process. So there’s not as much of a learning curve. With that said, these apps will be a bit more limited in terms of the ability to use native device components.
  • 5.
  • 6.
  • 7.
    Native Development Programming Languages Native Programming Pros: Most control over the device  Low-level coding for cutting edge technologies that are added on to the device  Fastest access to latest and greatest features through your language  Fastest in execution bottom line Native Programming Cons:  Slowest to develop  Most costly development method  Takes highest skilled and specialized mobile app developers to build for iOS and Android  High barrier to entry  While native programming languages give you the most control over your app, they are difficult to learn and take a long time to develop. Unless you’re building a highly specialized app, you probably won’t need to go the native route.
  • 8.
  • 9.
     C# Developed byMicrosoft, C# (pronounced C sharp) is another object-oriented programming language. It’s a popular programming language for game development and command line scripting for Android operating systems. Other low-code types of alternatives like OutSystems and Kony have an SDK that can be used with different languages, not just one. There are other languages for mobile app development that use system programming language with syntax similar to C#. Using an IDE for hybrid development, the C# code is cross-compiled to run natively on iOS and Android devices.
  • 10.
     Xamarin Microsoft eventuallyacquired the Xamarin framework, which allows app developers to program using C# against other frameworks. Technically, Xamarin isn’t a language. It’s an open-source development platform for iOS, Android, and Windows applications. It’s a .NET platform that uses C# as its core language.
  • 11.
     React Native ReactiveNative uses JavaScript to communicate with pre-built functionality that is native to their framework. This allows you to manipulate the UI, collect data, and retrieve data so you can present it to the user. Basically, this means that you’re heavily relying on JavaScript to manipulate native components. Programming a mobile app this way has its pros and cons.
  • 12.
     Appcelerator Like ReactiveNative, Appcelerator also uses JS to communicate with functions to a native framework. Appcelerator Titanium makes it possible to create native apps for iOS, Android, and Windwows. Appcelerator Pros:  Using Java to manipulate something native  Access native functionality directly from JavaScript Appcelerator Cons:  Doesn’t tap into things like HTML5 or CSS, which are technologies that are generally used with anybody developing in JavaScript to freely manipulate their own user interface
  • 13.
     Cordova/PhoneGap Cordova/PhoneGap andIonic type frameworks are really just built on top of the Apache Cordova programming language. Hybrid mobile application development using this programming language are built by porting over a web experience into a native experience. This method allows you to build just like you would do for a website. So if you’re a web developer, you’ll feel right at home here. It uses Javascript, HTML, and CSS. That web environment is ported over natively to iOS and Android. The final software will work on multiple types of mobile devices.  Pros: Low barrier to entry Anyone with a web development background can easily start programming this way Learning curve is easy  Cons: Giving up a little bit of frame rate
  • 14.
    PWA Programming Languages Ruby Ruby is a general-purpose programming language that can be used for a wide range of use cases, including PWAs. Lots of developers rely on Ruby for web applications because of its simplicity. The language has been around since 1990, and continues to be favorite in the development community today. While shipping code with Ruby is easy, finding bugs and debugging errors is not always as simple. So just keep that in mind if you’re going this route.
  • 15.
     Python Python isanother general-purpose coding language. It’s an object-oriented language that gives developers the flexibility for small and large-scale deployments alike. In addition to PWAs, Python is commonly used for data analytics, data visualization, websites, task automation, and other types of software. Most developers would agree that Python is a bit more challenging than Java. It has a steeper learning curve compared to other languages in this category.
  • 16.
     CSS CSS (CascadingStyle Sheets) is a rule-based language. It helps describe the presentation of of code that’s written in markup languages, like HTML. You can’t create a PWA with CSS alone. But you’ll likely use it as an addition to your JS or HTML code.  JavaScript If you have web development experience, using JavaScript to create a PWA might be the best option for you. You can use JS on top of HTML and alongside CSS to create your web application from scratch. Compared to other options for PWA, this has a lower barrier to entry for those of you who have some basic technical knowledge and coding experience. But it’s not quite as flexible as a Ruby or Python for PWA.
  • 17.
     PHP PHP isa general scripting language that was first introduced in 1994. While it has several potential use cases, PHP can also be used to assist PWA. With that said, it’s not necessarily the best option. You can use PHP on the backend for application, but you’d still want to serve HTML, CSS, and JS on the front end. Using PHP to just create a website wouldn’t have the same look, feel, and capability as a traditional PWA.
  • 18.
    Coding App  Codingapps like Grasshopper, Sololearn, and Mimo are all excellent options for beginners. So if you’re just starting your journey as a developer, you’ll definitely find these tools helpful.  Alternatively, you can use an app builder to create an app without writing a single line of coding. No-code app creators like BuildFire make it possible for anyone, regardless of technical knowledge, to create an app for iOS and Android simultaneously.  https://techpresident.com/best-coding-apps/  https://www.androidpolice.com/best-coding-apps/
  • 19.
  • 20.
     Dasar Pemrograman(C++, Python, Ruby, Lua, Java, Php, JS, Go) – IDE (Intellij, Notepad ++, Sublime, Eclpise, VsCode dll)  Algoritma & Struktur Data (C++, Python, Ruby, Lua, Java, Php, JS, Go)– IDE ((Intellij, Notepad ++, Sublime, Eclpise, VsCode dll)  Pemrograman Berorientasi Objek (Flutter, React Native, Xamarin, Cordova, Android Studio)  Pengembangan Aplikasi Berbasis Web (Express Js, Django, Rails, Laravel, Angular, React, VueJs)  Pengembangan Aplikasi Platform Khusus (Flutter, React Native, Cordova, Appcelerator, Xamarin)  Sistem Paralel Terdistribusi (http://www.cs.iit.edu/~iraicu/teaching/CS451-S14/index.html , https://www.cs.swarthmore.edu/~newhall/cs87/s10/ , https://drive.google.com/file/d/1kSKe-gEDi3CWURY2ozKpDHyjgGNJ0lFp/view )  Teknologi IoT (Java, Python, Lua, PHPoC, C, Swift, JavaScript. Go, Rust)  Pengembangan Aplikasi Terdistribusi (Docker, Kubernetes, JRebel)  Visualisasi Data dan Informasi, IDE (Rstudio, Jupyter, D3.js, Google Chart, Tableu Software, Google Data Studio)  Python, R-Programming MK Programming TI
  • 21.
    MK Programming SI Paket Program Aplikasi, (MsOffice-MacroProgramming)  Algoritma & Dasar Pemrograman (C++, Python, Ruby, Lua, Java, Php, JS, Go) –> IDE ((Intellij, Notepad ++, Sublime, Eclpise, VsCode dll)  Struktur Data (C++, Python, Ruby, Lua, Java, Php, JS, Go) –> IDE ((Intellij, Notepad ++, Sublime, Eclpise, VsCode dll)  Desain Arsitektur Web (https://www.simform.com/blog/web-application-architecture/, https://dev.to/lanars_inc/web-application-architecture-best-practices- and-guides-35ek )  Pemrograman Visual (https://www.postscapes.com/iot-visual-programming-tools/, https://en.wikipedia.org/wiki/Visual_programming_language , VSCode, Android Studio, Scratch, Alice, Kotlin)  Pemrograman Orientasi Objek (Flutter, React Native, Xamarin, Cordova, Android Studio)
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
    Tools UI/UX  Figma Adobe XD  InVision  Sketch  Origami Studio  Adobe Comp
  • 34.