Mobile Apps with Symfony2, Ionic & AngularJS


I love back end software development. I think Symfony 2 is the best PHP Framework available today - for my needs.

I also love front end development. After all, that's the bit the client / end-user actually sees. Our customer / client / end-user expects our software to work. That's partly why I use Symfony - it makes that part of the puzzle that much easier.

Once we have a solid, working back end, we are free to express our creativity in wowing the end-user on the front end.

If you combine these two skill sets you can become incredibly valuable.

However, there's an element of catch 22 at work here.

To make a mobile app we need some data. To get the data we likely need a RESTful API. Building an API seems scary, hard, and daunting if you've never had to do it before.

Once we have that data, we have a dialemma: do we build for Apple / iOS, go the Android route with Google Play Store, and / or offer support for Windows, Blackberry, and whatever else is on offer today?

Enter Ionic

I'm going to show you a way to avoid as much complexity as possible. Complexity slows us down, or worse grinds us to a halt and we never complete our project.

As just mentioned, we could fall in to the trap of thinking:

Oh great, so before I can even start building my mobile app, I need to learn Symfony 2, put together a RESTful API, and Lord knows what else?

Not so.

We will begin without having a real API to work with. Instead, we will create some real-looking data but have it pulled in from the mobile device itself.

Great, but I still need to learn Xcode / Swift / Objective C, and / or Java.

Again, not so.

Using Ionic we can build our app once and deploy it to multiple platforms.

This is what's known as a hybrid app. The alternative being native apps (i.e. written in Swift or Java or what have you).

Ionic sits on top of AngularJS which means we get all the awesomeness of a Google-built front end JavaScript framework combined with some easy to use, ready to go templates that make building apps for multiple platforms a breeze.

This is all we need from a technical point of view to get our App into the various App Stores.

Powered by Symfony 2

But to really bring our app to life we are going to need to swap out our dummy data with the API we will build and connect to our App.

I have already covered Symfony 2 with FOS REST Bundle in a previous series, so we will be building on that.

It's really not that hard, and we will be writing various tests as we go to make sure what we build works as we expect it too. This applies to both our PHP and our JavaScript.

Go Forth In To The Real World

And once we are all done and ready to roll out version 1.0, we will cover how to get our shiny new App into the various App Stores, and then cover what happens next.

This is a warts-an-all, real world app build from start to finish*. I will show you everything, technical and none technical.

If you have ever wanted to build your own app but never known how, then I hope this inspires you to realise your app-building dreams.

And of course, feel free to share your build logs and progress as we go.

* - software is never truly finished.


Episodes

# Title Duration
1 Preview of The App 02:17
2 TweetHours Extended App Preview and Build Demo 08:56
3 Ionic Contact Form Demo with Behat 3 Testing the Back-End 13:51
4 Mobile App Front End Behaviour Driven Development (BDD) with Jasmine and Karma 21:36
5 From Fake To Real Data on Back End and Front 23:04
6 Ionic Contact Form with Symfony2 and Angular Validations 05:44
7 The Moon Shot (Or How Not To Launch A Mobile App in 2015) 12:04
8 Commangular and TweetHours - Part 1 - Updating our Chosen Hours 07:23
9 Preparing TweetHours for Native Local Notifications 11:47
10 Displaying Local Notifications in Ionic 11:20

Share This Course

If you have found this course helpful, please share it.


Presented by

Christopher Moss

Christopher Moss

Hi, I'm Chris and welcome to CodeReviewVideos.com. In this video you will learn about... :)