Click here to Skip to main content
15,881,173 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi all,
I may have a rather unusual question. I was asked by someone if I could do a little project for him. I probably could, but I've never done anything like it, so I need some advice.

This person has a startup and basically all he wants to do is login to the application and fill in some fields to create an order that is stored in a database. Nothing fancy. The order can later be viewed in a full-fledged desktop application. The problem is he needs to do this while he is outside. So the application needs to run on a mobile phone or tablet.

I have no experience with this kind of development.
So my first thought was that I could make a simple website that they can log in to from any smartphone or tablet. The pro to this is that I'm not bound to a specific platform (say Windows).

However, my 'expertise' lies in WinForms, so that would certainly be easy for me. In that case I could create a webservice and use that to save the orders. But I have no experience in creating webservices either... Plus the software would have to run on a Windows tablet.

If I choose to create a website, which currently has my preference, I could use .NET or perhaps PHP as a back-end. I know .NET, but not the web stack. I've read that PHP isn't too hard to learn either.
I'm not a complete newb to web development, but I have no real world experience in it. I've only created some websites using simple HTML, CSS and JavaScript. No server-side work or anything.

The project is not in a hurry and I'm not sure if I'm even getting paid for it, but it would certainly be a nice project to learn some new techniques!

So any tips? What are things to consider? Techniques I could/should (or shouldn't) use? My problem is not that I need to learn new things. It's more that there are tons of things I could learn and I'm not sure which direction to take.

Thanks!
Posted
Updated 5-May-14 11:26am
v4
Comments
thatraja 6-May-14 3:06am    
So you want to develop application for both web & mobile?
Sander Rossel 6-May-14 5:55am    
Nope. I want to develop for the web so it's accessible from a mobile phone or tablet.

Only one main advice: it you are interested, stop saying "but" and just learn all you need to learn, if not — just forget it. With general programming experience, it won't be extremely difficult.

About the choice between .NET and PHP: ASP.NET is probably the perfect tool, with the best support and instrumentation, most comfortable in development, which can be the most reliable. And PHP… there is nothing serious about it, almost ad-hoc language. At the same time, PHP has one practical benefit: it is supported by nearly all all hosting providers, even the cheapest or free ones. Compared to that, ASP.NET hosting is harder to get and it usually costs more.

—SA
 
Share this answer
 
Comments
Sander Rossel 5-May-14 17:08pm    
Hi Sergey, thanks for your answer. It's been a while ;-)
You're right about learning what needs to be learned, but I need a little boost to get me started ;-)
Thanks for the tip on ASP.NET and PHP. I'll keep it in mind. I'll be sure to check if ASP.NET is supported by the host.
Sergey Alexandrovich Kryukov 5-May-14 17:18pm    
If you ask some more specific questions, we will gladly try to help you. So far, all your concerns were mostly about having to learn things, so I think I answered.
Will you accept it formally (green "Accept" button)? This won't prevent others from adding their answers on this page.
—SA
Sander Rossel 5-May-14 17:24pm    
It's not so much about having to learn things, it's a more general question on what direction I should take. What techniques I should consider etc. The ASP.NET vs. PHP is something to consider. I updated my question to make this clearer.
I'm not accepting right now (don't worry, I will. I know how it works) because I like to hear some more people. If I accept they can still add answers, but they might not look at answered questions.
Sergey Alexandrovich Kryukov 5-May-14 17:37pm    
Sure.
—SA
Sergey Alexandrovich Kryukov 5-May-14 17:48pm    
I took a look. Anyway, there is nothing much to choose from. Almost everything is defined by the choice between PHP and ASP.NET.
You may need to choose the database system: http://en.wikipedia.org/wiki/Comparison_of_databases.
For example, with ASP.NET it will be ADO.NET, you may consider MVC framework for ASP.NET. Similar things with PHP. You don't have to use any application framework...
—SA
I'm not a PHP guy so wait for someone to answer on PHP related things. Here a comparison
PHP and ASP.NET - A Feature List[^]

OK, for ASP.NET you have this article.
Beginner's Walk - Web Development[^]
Sander Rossel wrote:
I want to develop for the web so it's accessible from a mobile phone or tablet.
I suggest you go with MVC instead of ASP.NET Webform. In MVC you could create mobile views for mobile. And consider "Responsive web design". Check the below series
Challenges and solutions - Architecture of a Modern Web Application - Part 1[^]
Challenges and Solutions - Architecture of a Modern Web Application - JavaScript - Part 2[^]
Challenges and solutions - Architecture of a Modern Web Application - Mobile App - Part 3[^]

For Database go with SQL Server as you're gonna use .NET(Both are Microsoft products so both're nicely attached together).
 
Share this answer
 
Comments
Sander Rossel 6-May-14 14:34pm    
Thanks for your answer. Those look like good articles. I've bookmarked them for later reading.
I've already looked at the feature list and taken into account what has already been said here I've decided to go for ASP.NET MVC.
Some about PHP...
PHP have a few advantages over other platforms
1. Easy to learn (I wrote my first PHP SOAP server 2 hours after my ever first line in PHP)
2. As PHP is an interpreted environment you have no compilation to perform, and also the deployment is copy-based\
3. Wide community support to help you while developing and large number of possibilities for hosting (even for free)
With all this together PHP can be (and very easily) a mess for large applications (it resembles the classic ASP), so if you are not in rush I would advise to NOT to use PHP.
My criterions to choosing are:
1. Size and complexity of application
2. Time-frame of development
3. How much the application will change over time (it's only a prediction, but if the answer is 'a lot' PHP not a good choice)
4. Knowledge of the developer team (sometime you already have peoples on the team knowing the environment and with the lack of time to learn something new it's better to stay with the old and not to get lost in the new)
According to your post you are not sure about payment, but exited to learn from this project - so it's a different case. If I had the opportunity you have I probably were ending with a lot of applications in different environments...
Just to confuse you :-)
1. ASP.NET WebForms
2. ASP.NET MVC
3. ASP.NET base web service (WCF or Web API) with JavaScript client
4. PHP
5. PHP base web service (SOAP server) with JavaScript client
6. Ruby on Rails
About mobile support...
As today all smart phones (and some of the less smart ones) can browse the web so by developing a web application you are on the right trails. You problem of course is the visual part (screen size/resolution/orientation). Here ASP.NET has a huge advantage as mobile support is build in into the project templates of Visual Studio 2012/2013, so just by creating a new web application from template you got 80% of what you need including a base for mobile support...
 
Share this answer
 
Comments
Sander Rossel 6-May-14 14:38pm    
Thanks for your answer! For this project I'm going with ASP.NET MVC. Although it looks like I'll need to learn some PHP later too.
I'm the only developer here. I feel like this is a good chance to learn something new, but I don't want to start from scratch either, so .NET is a good choice. The application needs to be quickly made and simple at first, but might chance A LOT over time. The size and complexity will be small now, but I'm not sure how this will work out. I might be asked to write a complete web app later :-)
I'm simply going to ignore the stuff you said to confuse me because, well... It confuses me ;-p
Kornfeld Eliyahu Peter 6-May-14 14:44pm    
If you are going on ASP.NET and you possibly will change you application later you may learn about Managed Extensibility Framework - http://mef.codeplex.com/
I have an article about how to put together an extensible web application (it's uses WebForms, but you can apply it on MVC too) - http://www.codeproject.com/Articles/668153/Extensible-Web-Application
Sander Rossel 6-May-14 15:01pm    
Thanks for the article. I'm somewhat familiar with MEF. I've used it once, as a test, so I sort of know what problems it solves.
For now it's not really applicable. Let's see if I can build a non-extensible website first ;-)
I'll keep it in mind for later though. I've already bookmarked it.
Kornfeld Eliyahu Peter 6-May-14 15:03pm    
If you got Visual Studio 2012 or 2013 for your development you will got most of what you need for your first step - so someone like you will handle it in no time...
Sander Rossel 6-May-14 16:20pm    
Thanks, but no time is exactly what I have. I hope to spend a few hours a week on it and web development is quite a bit different than desktop development. But I wanted to learn it sometime soon anyway and at least now I have an actual life project that can be used in practice :-)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900