Advertisement

For a lot of us, developing a mobile client is a good choice. For a lot of us it is the basis of our product. With this reality, the term "Full Stack" became a little problematic. As a developer, I used to be "Full Stack" by having the ability to develop server-side, maintaining IT and developing web pages in javascript. Now it ain't so. In the 6 startups I've worked in since I graduated, 4 had a mobile app as their product. "Mobile First" isn't just a web-design pattern, it is the spirit of things. In fact, I developed a little idea called Seedrom. At first I developed it as a website, thinking that when it will rise I will invest in developing Android and iOS apps. Some months ago I realized that although Seedrom is a social network, it should be developed as an App first. That's because when you look around in coffee shops you see that people are taking their data fixes all the time, all day long, through their little digital friends.
Did you think native? Think again
For a lot of us, developing a mobile client is a good choice. For a lot of us it is the basis of our product. With this reality, the term "Full Stack" became a little problematic. As a developer, I used to be "Full Stack" by having the ability to develop server-side, maintaining IT and developing web pages in javascript.

Now it ain't so.

In the 6 startups I've worked in since I graduated, 4 had a mobile app as their product. "Mobile First" isn't just a web-design pattern, it is the spirit of things. In fact, I developed a little idea called Seedrom. At first I developed it as a website, thinking that when it will rise I will invest in developing Android and iOS apps. Some months ago I realized that although Seedrom is a social network, it should be developed as an App first. That's because when you look around in coffee shops you see that people are taking their data fixes all the time, all day long, through their little digital friends.

Due to that fact, I looked at myself and realized that I can no longer be called "Full Stack" since I didn't develop Swift in my life. I know a bit of Android, and since Google did a smart thing with making Java as their native language (along with accursed XML but still), Android is a cake for most Java developers. But still a new framework, learning Swift... headache...

Then I heard about PhoneGap. To tell the truth, at first, I heard that it "just doesn't work". But being as I am, I wanted to see for myself, and before I continue this article, let me sum it up right now: It works and it does a good job doing it.

Yes, I won't lie. PhoneGap has way of maturity ahead of it. But don't you worry. It is an open source technology, and you can just go over to StackOverflow to see how well known this technology is and how many people are developing plugins for it on github.

I started developing Seedrom on PhoneGap. At first it didn't work. But that wasn't because of the technology, it's because I developed it as a web developer. If you don't know, PhoneGap allows you to develop mobile Apps using javascript. If you know a bit about mobile you would say: "What's the problem? WebView!". Well not exactly, if you wish to use the powers of the mobile like push notifications, GPS, Camera and others. But PhoneGap did exactly that. They give you hooks for using these powers within your javascript and they let you do it in such ease equivalent to installing a module from Nodejs npm. But still you can't just develop JS on a poor little machine like a mobile phone as you do on the web. Users want smooth apps, and you might get a pass with your responsive website when they use your product on their phone browser but that won't work if you present yourself as a WebView app.

And I realized that here lies the reason why people say "PhoneGap doesn't work". As a web developer you need to take yourself to the next level. Performance of your code becomes everything. Now without offending anyone, usually server-side developers has that "OMG, this line of code takes 0.000006 milliseconds, that's waaay to slow, i gotta do something about that" while web developers are happy with such times. Well, PhoneGap will force you to think performance, and I'm talking about everything, from the very basic use of your jQuery, CSS, HTML and how exactly things are rendered behind the scenes.

So why go through all that trouble? Because PhoneGap was developed by a bunch of very smart people. How do I know? Because when you use PhoneGap, you can see that they pretty much thought about every ache that a developer goes through when using a new framework. It starts with a well written, easy to find documentation of the core plugins. continues with a comprehensive CLI. And let us not forget the amazing PhoneGap Build Free-to-use service which allows you to deploy 1 app for free to iOs, Android, Amazon and Windows Phone with 2 clicks - one to pull your latest code form your repository, the other is download (although you have a QR code if you hate using your mouse). Brilliant.

So, if you are just starting your product, and wish a cross-platform full stack solution, you should check PhoneGap, and if you get stuck, remember: It is either that you need to think differently or you really hit a bump in the road in which case, take initiative, develop you own plugin, and make this world a multi-code-maintenance-free-full-stack-heaven once more.

Cause that's what us Full Stackers like, aren't we?
iTech Dunya

iTech Dunya

iTech Dunya is a technology blog that specializes in guides, reviews, how-to's, and tips about a broad range of tech-related topics..

Post A Comment:

0 comments: