 Last session of the day I definitely understand that there is at least good crowd to expect and that to mobile app development which is the scariest thing on there now because people talk about multiple languages, people talk about backend, people talk about connecting it through API, so it's very difficult, right? So let me start with some questionnaires so that I understand my audience and before doing that you should know who I am, right? I know you guys have it on the website but it's very difficult to go through the website Getting to the documentation of any tool or API itself is difficult, right? Reading about some other person is much more So my name is Vidya Sagar and I am a developer advocate at IBM IBM cloud and mobile there as Pradeep was talking about I am also a polyglot developer, so I write in C sharp, Swift, Java for Android, I'll say Java for Android specific there I write Node.js, so almost all the languages on there Trying to learn Go, sometimes on Python, if required So that's my Twitter handle and also that's my website where I write about all my polyglotism to understand my crowd So how many of you are mobile app developers? Guys, even a hello world application is a mobile app Professionally, hobbyist, maybe? Hello world? Good The next question will be how many of you have mobiles? Wrong question, definitely a wrong question Maybe let me ask how many of you have 2 to 3 mobiles, more than 2 mobiles? 4 dual sim, multiple sim, all that, right? Because of that you have only one So but in future, right? As mobile is everywhere with everyone In future it's expected to have 4.1 billion devices By 2019 So more than talking to a friend next to us, we talk to him Though he is standing next to us We'll start talking to him on WhatsApp We'll say hi on WhatsApp and he'll be standing next to it Next to you and he'll reply back, right? That's how the world is But as hello world developers, even I am a hello world developer Mobile developer We talk about development, app design, app experience People call it as user experience People call it as user interface There are multiple things But this is all through trial and error We design apps, we fail, we learn, we do it again So what simply to define a mobile app is You have a mobile user interface It can be an app running on your android It can be an app running on your iOS On Windows, which will be talking to a back end Which is mostly no SQL database And you have an API in the middle So it's only 3 things And anywhere it can fail only in these 3, right? Agreed? So that's the reason I am saying Design to succeed or design to fail True? But how many of you, us What is first thing comes through your mind When you are planning to develop a mobile app as a hobby Be frank Platform? Seriously? UI? Okay Nobody is talking about money Ads That's more important, right? Agreed? Think, keep the security thing against that Keep the DevOps, whatever we call it As the continuous delivery, continuous integration Everything out, what comes first is money You want to make money out of your app Right? Nobody in this room is frank Other than me So monetization is the main aspect But if you are trying to build an app for your company Think that this is an enterprise app Where a bank, an insurance company Or somebody else will be connecting to your cloud It can be a cloud running on BlueMix It can be a cloud on Red Hat That is, you have to take care of so many parameters, right? If you are a hobbyist, you are developing an app You don't have a manager sitting next to you And say, deliver this by today in the next one Agreed? But when you are a company, in a company You are working on developing a mobile app You should take so many things, so many parameters Into consideration That's where we have something called Mobile First Foundation It's a product What it does is, it gives you that comprehensive security It gives you that app life cycle management It gives you that mobile analytics Who is using on which version of Android Which version of iOS Whether it is a hybrid application And what will be the back end logic Engine here it will be Push and offline sync to engage your customers on Let me ask a question I am trying to make this more interactive Because last session and you are too much exhausted I will show you the code obviously Because I am also a developer like you But developer advocate is where I talk I blog, I create videos I do other things other than developing Along with development, I will not say other than So how many of you have Android N On your phone? No? Marshmallow? You are still there, you are still there No problem The reason I am asking is If you see this app life cycle management If your customer or your manager Ask you to build the next version of the app And push it to all your customers You can't go and rebuild it again And you don't have to send Push it on to the store and say Go and download it You can't do that right You should give it to your testing team first Let them test and release it That's important, agreed? So all these parameters are very much important When you are trying to build an enterprise app Even if you are thinking of a startup right The first thing is money, it's right there But you have to think about the next version right Which should be better, agreed? So NF of mobile first foundation And I will also talk about on cloud The Bluemix part of it Before I begin the talk Before you think of how do I build Using Eclipse mobile first apps These are the various things which are required I have listed this here because Once I upload this onto the website Or on our Eclipse website You should have all the content right So you should have Java, EEW, Mars and above Maybe 4.5.2 is what I am using Neon and a thing I have Java, JRE Node.js version 4.x And above Kodawa command line Kodawa, why? I will explain you Then you should have IBM mobile first platform Command line interface And most importantly an internet connection Right? That's how we live We were doing IoT before It was always there but now IoT plus internet is a new word If you get bored of my talk Obviously you will open and see Facebook, Twitter WhatsApp connected to internet So that's one more thing important there Also before that One more prerequisite Before I talk about Because I want you to go back home And start trying this Mobile first in Bluemix Make your good apps great Because even if you are Developed a hello world application You should feel it's good You can't go further You can't build further So mobile first in Bluemix We have this running on a container Mobile first server we call it as It's on Bluemix, it's a service available Along with your 30 days Free registration You get it there So the hybrid cloud story Why you need Maybe Pradeep has taken care Of that but quickly if you want Easy to deploy As you go because if you want To have a start up in future It's not that you have to have an infrastructure Sitting next to you and the guy next sitting Next to that and he should be up 24 hours not required The back end should be taken Care by somebody else You should just get a JSON back And start developing your UI User interface Which helps you to get the UX Which is user experience These are high end terms used Even if you are a customer right How is the user experience of the app What is user experience What is user experience If you send a whatsapp message And it doesn't get delivered There is a failure in user experience Right You are trying to upload a pic to facebook It doesn't happen Who do you blame first The guy who has developed the app Or your internet provider Sorry This is the first guy to be blamed But in reality the app may also Be failing the back Right so that's user experience And user interface So enough of talking Maybe I will get into what Why exactly I am here And frankly speaking I am a c-sharp developer Most of you will be How many of you are java developers Trivals Okay good So what I am here is Before android studio I used to use eclipse To develop android applications Being a mobile app developer That's one reason Also we have a mobile first studio plugin On eclipse To try out So we are talking about the latest version of mobile first studio Which is version 8.0 So I will concentrate more on that So mobile first studio plugin Before this I gave you All the prerequisites to get started Right Once you have everything installed Once your mobile first service is set up Which I will also demo Then Here is where we get started I will also demo this The reason the content is here as I said This will be uploaded to your Event website So that you can download and verify it Any given time So first of all You will install the mobile first studio plugin On eclipse On top of it you will Install the time I call it as time plugin T-H-Y-M Which is the hybrid mobile Tools You will install one more plugin Two plugins there Which will help you to create a new Kodowa project Import an existing Kodowa project Add plugins to your project Run your project on the appropriate platform Before going further Many of you have heard about Apache Kodowa How many of your web developers HTML, CSS and JavaScript Most of you the others who haven't heard about Apache Kodowa when I say phone gap Then you may be able to relate Right So if you are a web developer Without losing your skill set Or without Not like Instead of learning a new language You can use the same skill set If you know HTML tags, HTML Title, body Done You can write an app So that's where Time plugin will help you Where it will give you all the Kodowa related things Which you can do it on eclipse What does mobile first studio give Open server console Because we have something called mobile first server In the middle Which will help you with the analytics With app, cycle management Will do the heavy lifting for you Will preview the app Maybe I will ask the question later It's an interesting question Remind me if I forget Then you can register an app Which will register on blue mix You can enter the app Pull If you have a server Higher server instance right You can pull it to the local Just as if you are doing it Pull and push We will look into what exactly this How exactly this is done on eclipse So You can't create a legacy application Maybe if you are an expert in mobile first Then you will understand I am talking about only version 8.0 here As I said you need to have eclipse Mars or later Then you do this You will install Kodowa Then you will install MFP dev CLI The same prerequisites which I spoke about How you install And once you have it You open eclipse preferences Maybe I will skip this because There is a demo coming up And how you install the plugins That's the part there A pictorial representation Because I know Reading through the documentation is very difficult So that if you are Missing somewhere once you go home Maybe tomorrow being weekend You will not be able to try At least on Monday when you go back home This is a pictorial representation of what is Required there How do you create a Kodowa application Also this is a backup for me If my If demo god is not with me and if it fails Then I will come back to this presentation And I will show you the step by step Because I do a bunch of talks And out of 90 out of 100 90 percent it fails Even I am running my internet on 8.0 I have to trust 8.0 at least for now Hope it works So importing an existing Kodowa project If you are already a developer Web developer You already have a Kodowa project You can even import that onto Eclipse 4.5.2 and above Which is Mars and above And you can just continue working on it Which will even get MFP On to that particular application Add a new platform to your project Maybe you are using the latest version Of android and you want to add The latest version here Kodowa is a crass platform You write code once So that you will be able to run The same app on iOS Android and Windows So you will not be writing Three different HTML files And they will be rendered differently On three platforms You will have the same code running On three different platforms So you have the option to Select the hybrid mobile engine also So CLI commands If you want to use I spoke about opening the server console Pushing and pulling app update Everything can be done via Eclipse What does each command do It's difficult to read But it's right there Maybe once you Once I upload the presentation You will be able to I didn't upload the presentation Because most of the people will read through and see There is a new language altogether That's the reason I didn't upload There MFP Dev CLI Using mobile first CLI commands If you are Not an IDE fan Maybe an Unix or Linux kind of a guy Who can write shell scripting Kind of stuff We even provide that So the good part is We don't lose the CLI developers We support them Even if you are an IDE guy Drag and drop Drag and drop of plug and play These are the words Guys who want to quickly develop an app We support even that So whenever you see MFP Don't get confused, it's mobile first platform Just like IBM being international business Machines We go with long names Then put it short So limitations you can do Kodoba prepare If you go with the time plugin You will not see Kodoba prepare Apply the app onto the store Or maybe onto your device That you have to do Any way you have to do it From your terminal on Mac Or command prompt on windows Let's jump into it Okay I do it this intentionally Because I mostly work in the nights And I don't want to disturb my wife And this is the best thing to have Trust me, this is a tip So Eclipse Which version of eclipse Thanks for being with me guys Obviously The same thing people have been showing Help then you have eclipse marketplace So Pulling Everything there Is it up? Yeah So what I will do first is I will just say mobile first I will just search mobile first On the eclipse marketplace This is going checking for updates Searching yep There you will get two things One is IBM mobile first test work bench We are not interested in that for now IBM mobile first foundation studio 8.0 This is the thing which we will use Anyways it is installed on the machine You will just install that Once that is done We will go with the next plugin Which is THYM Mobile thing And look for version 2.0.0 Even that you can install Once these two are done So once these two are Installed right We have to just What is the next step As a developer if something doesn't work What do you do on IDE Restart right Here you had it mandatorily restart What is the second step if the code never Works Restart the system As simple as that Guys these are developer tips Which you need to take care of So once you restart the eclipse right Which it obviously prompts for You restart the system You will be able to get everything Every plugin working there So this is your first application Maybe So we will say file new And you will not see it here You have to say other Then under other You will have something called mobile And under mobile you will have Hybrid mobile code of application project Right You will say next Project name I already have First project in my projects If you see it here So I will say this is my second project Then we will say next And these are the This is the place where you will choose the platforms Whether you want to build it for android IOS If it is not installed right You can go and download it The version you want I will go with the stable version That is the reason I have IOS 4.2.1 And android 5.2.2 It is not the versions which you have Running on your mobile It will be mostly 7.0 6.0 right This is codewa android version And codewa IOS platform version Not to get confused there Then we will say I will choose both I want a Class platform application And then we will say next We will not say finish this is where we will choose The mobile first platform foundation version So it is trying to pull it from Meanwhile it is doing That is the icon for codewa To make sure So here you will check for something called MFP And when you search for it right It gives you a plugin called codewa-plugin-mf We will just select that And I will say next Try to get the latest version Of mobile first platform And we will say So on eclipse your project is created So for you it will be like First project but if you see in the bottom You will get an update of What exactly it is doing First I will show the easiest part And if you are a CLA developer I will show you the difficult part Then you will understand the importance Of installing plugins on Eclipse and developing your Codewa project So once this is done right We know that just to confirm Everything is there Right click on the project And you should see Install Codewa plugin This makes us sure that The Codewa plugin has installed Beneath that you will see IBM mobile first platform foundation With all the options which I was talking about This confirms that our mobile First studio plugin And also the time plugin has Installed Well and good Most of you are Hello world application developers So you have to install an ID Don't feel bad even I Am a hello world application Every time I start panicking With a mobile app How many of you have developed Android application What is the first step to setup the system Obviously an ID right Android studio Then Android SDK Then how much time it will take For you to setup the Android SDK Because it is not in MBs It is GBs Even a simple hello world application On an emulator Agreed Let's see a magic here You don't need anything there I have created the application And Let me register this application And even before registering The application right I will preview the application Because Specified platform version Is invalid That is the reason you have a backup So Preview app Nothing The talk started maybe 20 minutes And I am able to run it on Google Nexus 5 And also Apple iPhone 6 Just to make sure that this is Live Just to make sure So the most important file Will sit is under www And index.html And Here if you see It says device is ready Right And if you see on the right There is something called device is ready I would just say device is ready right here You see the change Right there I didn't even refresh the browser And you didn't kill 4 hours of time To Check your hello world application So That's the reason That's one of the reasons you can just try mobile First there And it's all happening live We spoke about the app development Three parts we spoke about right First is the UI design Which is done Second is the JSON connection part And third is Your backend Which is a NoSQL database Agreed One of the simple things which mobile first gives you One of the things is security You may ask a question How does the security thing come here How do you handle it From mobile first set That's where we have something called mobile first server in the middle Which will do all the heavy lifting To do that Let me come to the full view here So I'll go to mobile IBM blue mix I have Registered me being an employee Which is 322 days there So if you register You'll get it for 20 days For 30 days there Once you do that You'll hit the plus button there And you'll see mobile So once You see mobile there You'll add something called mobile first Mobile foundation service This refresh works If somebody is using ATL 3J or 4G please Switch it off So that I get internet here Okay Taking some time I don't want to kill time there And make you guys wait So once you have maybe the mobile thing You'll add mobile foundation service And you'll set up the service here Okay This is You can see it here mobile That's the tile you click You add mobile foundation Called mobile foundation Feedback So the reason I am doing is I spoke about preview part I have to If I have to talk about push, pull And also register the app part I have to have a server in the backend Which here it's a middle where So that's the server It'll give you an address Which will have the same name Mobile foundation hyphen feedback Hyphen server So where exactly you'll use that URL The mobile service URL is here config.xml This is just like any other configuration Files which you have Here I'll just open config.xml Open the exact code And you have something called MFP server runtime Runtime is equal to MFP And the URL is We have 10.0.1 Something Where I'll replace it With the server URL Which I already have Which I have already created The other good thing you can do is You can even run the server locally If you don't Want to trust a cloud provider In the first code itself You can have the server downloaded Install it on your system on your laptop And you can try it out URL With 443 as the port there And once this is done I'll go right click And say register app So what it does Is it's registering with mobile first Server in the middle Which gives you all the analytics and everything When I open server console It'll open my mobile first Foundation server console And I should see the first App registered I'll also see iOS and Android platforms under that So this is the MFP runtime And I have My first project registered Also with Android And iOS One more cool feature Other than writing the whole push notifications You have to tell the server is down Any question? Okay Let me re-register it Or let me re-register Second project which we created Right here Registered both iOS and Android Now when I refresh you should be seeing The second project also to make sure So I'll go to IBM mobile first platform foundation Open server console Which will again launch this Second project Previously when you saw There was no second project here Now it's registered for both android and iOS The reason we are doing Is push notification Pushing the notifications is very easy You'll create a payload with the message Saying that this app server will be down From 11pm to 12am PST For your customer maybe But you don't know whether the message is delivered To all your customers Push notification is one way gate You just push the notification It'll go to Apple push notification server It'll go to your GCM Google cloud messaging server But here there is something called Active Notifying Where you'll just give a message And once the message Is saved And your user Your customer is opening the App You'll see saying that the server Is down You don't have to do All that push notification over I'll not show it here because It's not important But the reason we are one of the reasons For using MFP server For mobile platform server is Yes Also if you want To run your server locally You don't have to do Maybe you don't have to do a Complete configuration there You'll just install As soon as you come to Servers tab here You'll just add a new tab New server called IBM Then you'll say web spear Application server liberty And there you'll say local host I want this to run on my system And once you do that It works This is what is happening on Eclipse Multiple things But I have to Show you the difficult part right Because I was doing it Even from we installed Code over CLI You remember Command line interfaces This is tough part You have to remember the commands That is more difficult Because I do codewa I do MFP I do bash I have to remember all those So I'll just say codewa create An application maybe The reason I am doing this is If you don't want to install the time plugin You don't want to do all that Extra plugin thing other than mobile Studio You can do this way Where you have to manually add the Plugin So I'll just say Create codewa create Eclipse So it's creating a new project It should be created by now Go to root codewa Eclipse summit It's created I'll just say CD Eclipse root right Now when I say eclipse So the project is created Now when I have to add the plugin Which we Which it automatically did While creating the project itself I'll just choose codewa-mfp-plugin Here you have to say codewa Then I will say codewa-mfp-registry-returned I am missing something No that's the plugin name Just to reconfirm The name of the plugin You have a folder called plugins When I say install codewa plugin It will open the registry again Just to confirm the name This is all coming with the Time plugin which we installed That gives you all the codewa options to use So whenever I say mfp-search The plugin is already installed So it's trying to Pull the plugin Which we were able to do it Easily on eclipse Also we were Adding the iOS and Android platforms Again one more command here Codewa Platform Add It'll add all the Android-related platform things Which we were happily able to do there Just to make sure that It installed well So I'll just open the config.xml file Which will even Show the versions of Android and iOS it installed The engine versions While creating here Similarly when you go to CLI It'll install the same Version of it 5.2.2 Similarly for So this is where instead of So Initially I installed something called Codewa CLI As soon as I Just add this Android platform Based on the latest stable platform If you want to specifically add A platform then you have to say 5.2.1 or 5.2.1 Yeah There are commands Otherwise there is obviously Something called help Any given time if I forget things I go and hit help Where it says platform is to Manage the platforms And once I say platform help It'll give me the extra commands Which I need The reason I was showing The eclipse It's very easy for you to Set up everything Here I think I'll take few more questions because We have 5 more minutes left Before we call it off Any mobile development questions Or any cloud related I'm open to take them That's an awesome question Thank you I forgot to Show you that At the top It gives you a bunch of Android Devices not the 3000 Devices worldwide available At least the main devices Available under Android The main Nexus 7, 6, 5, Amazon Kindles and Motorola Samsung I don't have windows added as a platform That's why when I try to add Any windows thing right It'll just say cannot get The html page So maybe if I'm running on a windows system With everything set up I should be getting windows also Similarly The main overhead with IOS Is you need to have a Mac To develop something Also you'll have a simulator there Again a simulator compared to android So you can add All IOS iPhones And also IOS, iPads To quickly see the application To rigorously test your app Would suggest to go with the emulator This is to quickly see your UI How it looks But the suggestion is Better to go back And run it on an emulator Or on a device That reminds me one last thing If you ask me the question how do Do I need to run it on android again No If you go to platforms here You get android and IOS Right click on android And go to the IBM mobile first foundation thing No Run as which will give you an option To run on a device Run on an android emulator As we have added even an IOS Application right It'll give you an option Run as Run on an IOS simulator Emulator installation is Required because you need to have android sdk Android avd virtual devices Everything needs to be setup So to quickly see your UI That is the browser simulator which we call off If you want to rigorously test your app Before releasing to the store or to your customer Go this way That's the quick suggestion Yep So I have written a very good block Seriously Seriously And it is here Mobile first platform dot IBM cloud dot com I know people will definitely Ask this question So I have added the link there And also whatever I have spoken today Is Available on the website This is IBM Mobile first Mobile first platform dot IBM cloud dot com It talks about End to end What all I have been doing And also it has a video And You might credentials again so if you are stuck Anywhere if you have any questions Feed me I will be able to Thank you very much guys Appreciate it