Recently, there are so many people asked me, "can you build an apps for me?" First of all, I wish to ask what is the purpose to your own app. Well, the most popular answer is "I wish the mobile users can access the information in my website!". So, I will recommend them to build a responsive website.
To build a responsive website is only adding a mobile css and maybe jquery tricks into your existing website. That is much lower cost. Moreover, the user is more prefer to enter url rather than installing an app.
Nowadays, mobile apps sounds a cool stuff which everyone wish to have, but we need to ask whether you really need that. There are plenty of choices out there!
Building a data layer in sqlite for android is a bit of time consuming. Recently, we have moved to the IOS world. I found that is a bit easier to build in data layer in there. It has Core data concept which is a kind of ORM. But that is completely OOP storage. Please do not think in sql way. I tried to find auto number key and foreign key in Core data. There is no such things ,please think in objects and relationship. That works and is easy too!
Some University students have asked myself that is good to take some extra courses to learn programming. That is good to take some courses. But that is more important to get your hands dirty. I suggested them to buy some books and look into their example codes. Then they can download some opensource projects and try to understand their codes. If they think they learn enough, they can start their own opensource project to build somethings.
Moreover, I keep to suggest them that they need to be keen for search work experience positions. The industry experience is very very valuable.
Programming is very important to practice.
During my career, I built some websites which are using a simple design and even with some simple functions. People have commented why I cannot make them better. Yes, I really can. If you can give me more funding, of course I can. In the real world, everything is about time and budget. We only got limited time and resource. If we spend more resources on layout, we have to make some functions away to bring it back on budget. In some situations, even the budget is ok to spend a bit more on website layout, but we still need to fit the deliverable schedule too. In these cases, we will delivery a simpler version first and still keep to develop. Maybe, we can have second deployment later.
Moreover, as a web developer, making the websites looks good is not our sole considerations. We want to make a lot of pretty websites. However, we have to take some factors in considerations. For example, we have to consider cross browsers comparability. Nowadays, we need to make websites can work with tablet and mobile phone. Well, I can use flash to make a very interactive and fancy website, but I am 100% sure this website can be read in any tablet and mobile phone. We really have to take the comparability factor into considerations.
Lastly, that is another important factor we need to consider. This is web hosting cost. Even we make a very complex website on time, on budget, this kind of website may need to bring workload into the web host or require higher specifications of web hosting. The web hosting is an on-going cost. The website may need to last few years before the next re-development. Thus, this can be a largest part of budget. In the past, I had to build a cut-off version of website, because of the web hosting requirement.
Building a website is not just about the layout. We need to consider the WHOLE picture!!!
I remember I started to work full time in Web Development Industry around 2003. That was 10 years ago. I treated this as my professional career. However, a friend asked myself why my clients need to hire us for building websites. She can do it in MS office. I think she is just one of many do not understand our industry.
We just ARE NOT JUST BUILDING WEBSITES. We are delivering a web technology solution to our clients. We have to understand our clients' requirements. And then we need to deliver the best solution for our clients. Moreover, we have to make the solution comply the clients' organisation requirements and legal requirements. Also, the most important part is to make sure the solution can be deliver on time and on budget. Our professional is not just to build a pretty website.