Why isnt web dev like Android dev?

Background : I have been doing Android dev for the past 2 years and know a good deal of webdev. I have decent experience in various frameworks; python flask and the MEAN stack, and have scratched the surface in React and Django, though haven't built a full fledged webapp in either.

First things first. I love backend. APIs specifically. I love creating APIs, and use python flask for APIs all the time. Database and API architecture is where webdev is fun. And there are brilliant tools for the same. Jexia, a startup trying to make making APIs without code contacted me recently to test their tool. It is in beta currently. Do have a look if willing :). They've built an excellent tool, though it's the best for simple APIs, and not complicated ones.

The mess is in webdev is the front end! Oh, the wretched HTML! Why do all frameworks still have HTML!?
Yes, there's jade, and other similar alternatives but they all essentially follow the same idea.
People think they know HTML. Heck, who in an Engineering college in India, or a techie in any company says they don't? The truth is, they really don't.

Do you know how hard and frustrating it can be to move on <div> to the right and align it with something below it?
Yes, Bootstrap and other CSS toolbelts help in dividing webpages into grids and do most of the work for you. Bleh. People say this. Ask them to help you out and they'll remember last week's assignment. You really need a good deal of experience to actually know how to code HTML. You need to have gone through those frustrating nights wasted all because you couldn't get that one piece to color the way you want it to, or move to the left, just below the other element.

The real reason is most people mess up the code structure. The other problem is, most of HTML is just hit and trial. If front end code was written in the ideal way, heck HTML together with CSS would be beautiful. Every div can be given ids, divided into class, these classes can be called from CSS, and I can go on. But the truth is when you really get down to coding, you end up applying jugaad to make things work. No one simply writes the perfect code for HTML.
You give this tag an id, save, go to browser, hit refresh. Mm, that image doesn't seem right there. How about I move it to the left, and above that text. Open code, *magically destroys beautiful code to just make it work*, save, refresh. Iterate again and again. Your front end is fucked, and impossible for the next developer to work with. 

If Android's UI can so easily be coded using XML tags, why can't website's front end?
And no the answer isn't screen size. Apps are developed for 7-12 inch tablets. They might as well work on 15 inch laptop screens. Android's backend is in Java. (I refer to the code linking the front end UIs as backend in Android). Oh, and Java may be replaced by Google's Go in coming years.

Where is the fundamental difference between webapps and mobile apps?
I honestly do not know the answer.
Websites/webapps are URL based. Websites require sessions. In apps, there's a defined flow and you cant skip to random different pages. In websites, you can route to any URL given you know it.
That still doesn't mean webdev can't be like appdev. Agh. I really want an answer.

If there's a startup that does this; makes websites/webapps in a very app develop-y way, I'd love to work there. App developers really need this.

Comments

Popular posts from this blog

[Breaking News] AI takes over universe to calculate Pi

Firebase Auth | The Debug vs Release Signature Problem

Cold Showers