Midlet v/s Phone Browser app pros and cons? - java

How do you weight the pros and cons between a Midlet and Browser based client/server app for a phone ...
What are the pros and cons of both...
And based on your experience what will you prefer to go in for and why?
I have listed some points based on which we can compare both feel free to add your own...
Rapid development.
Rich UI.
Mild data transfer between client and server.
Ease of use.
Portability.
Wide phone target audience.

Here's a great blog post tackling this exact issue. I used to work with the poster and know he's spent a significant amount of time on both sides of the fence, mobile app development and mobile web development, to have a well formed opinion on the subject.
APPropos? Are native mobile apps as supportable as mobile web apps?
I myself have only worked on the mobile apps side of things and there really isn't anything rapid or portable about the process, especially when your target platform is...all of them. However, mobile web apps will of course not allow you to supply as robust a feature set as a native app. It's all about trade-offs and concessions in the general mobile space at this time, and I think your taking the right approach to figuring out what is more important to your project.

The general answer is: It depends. Without knowledge of the goal, is it hard to suggest the road to it.
What type of application are you going to make?
What is most important? Performance or rapid development? Which features do you need? Database, inter-client communications? Do you need specific UI-elements, which is hard to create on a webpage? Do you need it to be portable? Which devices do you want to target? And a lot more questions...

Related

Mobile application dev or web dev

I am learning programming, I learned Java, I took a little experience with Android, I made a simple application, then I started to learn flutter, I took a course and i created a simple application, and now many people tell me and I see that the web is more widespread and has more job opportunities, and I want to be a Frontend developer What would you advise me to continue learning flutter or go to the web because I want to work as a freelancer or in a company?
I think everyone would agree that only you yourself can decide what to do with your own life. We have neither right to decide it for you nor will to bear such responsibility.
"I want to fly planes, but I also want to drive a bus or maybe I should be a train operator?" All those professions have the "driver/pilot" role in common, yet they are very different. Just because everything you mentioned involves programming, doesn't mean it is all the same and learning a few lines of code here and there doesn't make a pro, but I'm sure you know that.
If you want a decent job, I suggest you to explore your local job market, see what real companies need most. Then think about the future - will they still need it by the time you finish studying it?
Keep in mind that the tech landscape in always changing. Flutter can be hot now, but in few years - who knows? For example, nobody in their sane mind today really considers Xamarin and C# as something to learn for cross-platform mobile dev, but it had future.. at some point. Anyway, hope you get the idea.
personally, I advise you to expose yourself to as many technologies as you can to increase your chances of obtaining a job and also because there is no way of knowing for sure which technologies your future employer will require from you and hence I say go ahead and learn web development since it's one of the most wanted skillsets in software development.
as for freelancing it really depends on what type of freelancing jobs you want or will accept.
thank you.
You are right, it is easier to find a job in web development than in mobile app development, my suggestion is that you continue on web development, your aim should not be to become a front-end developer only but rather try to become a fullstack web developer.
If your goal is to quickly get a job, I would stick with Android and maybe learn iOS as well. There are plenty of jobs in mobile, even as a junior developer. I would not invest too heavily in Flutter, it has all but lost the hybrid mobile framework user space, at least from a jobs perspective. Pick up React Native if you must. Learning web from scratch will be difficult; there are lots of nuances and different technology stacks, and companies are often looking for a wide variety of experience.

Web Interface or Graphic UI

Hey,
i've a simple question.
Task:
Program a backup system which can be used by server-, or desktop-systems. The backup system should include a graphical configuration and status view. The programming language should be Java.
Question:
Would you use a web interface, which will solve these jobs or would you create a GUI in Swing?
My thoughts:
- The web interface has the advantage that is is accessible from everywhere (server - configuration made easy without any additional software on the client side).
- The GUI has the advantage that it is more responsive than a web interface and will maybe look more professional on a desktop-system than, the web interface version.
Which solution whould you choose?
Thanks!
The desktop vs. web app discussion usually depends on who would use the application, and from where. If it's always going to be used by the person sitting at their desk (or at the desk of the server), a desktop application is a good choice. If the user may be remote a web application is the way to go.
Another consideration is deployment. Is this going to be deployed on one or two machines, or does it need to be installed / available to 10's, 100's or 1000's of users? Deployment and updates across hundreds of machines can be onerous for desktop applications, but a non-issue with web-based apps.
Generally speaking, you can give a much richer experience with a desktop app. In this case, however, "rich" isn't really a requirement. You're going to have a few buttons, perhaps a window showing a log of some sort, and that's about it. So from a usability perspective you can probably create a compelling UI using either method.
If deployment and a rich UI don't really factor in, pick the one that either a) you know well, so you can do a good job, or b) want to learn assuming you have the time.
Since the actual question you asked was "which would you choose", personally I'd choose a desktop GUI based on the little information provided in your question.
Yeah Bryan is totally right. Choose the solution you prefer, since you are the developer :)
I'd prefer the web solution, because I love to play around with these nice Web 2.0 AJAX/JS things. Also there are at the moment a few new Browser Developments, which will make it possible to use an webapp as desktop app.
Basically, it's really no matter which variation you choose.
I did serious Swing work in the past but I see less and less the incentive to use "fat client" technologies with today's web based UI (Ajax, JQuery, HTML5 and efforts like html5boilerplate.com to make them work on older browsers). The browser is the present and future of rich UI, specially as more software makes the move to the cloud.

(.Net + SQL Server +Azure ) vs (Java + Oracle +Google App Engine) which is better for this project specifically?

I have to develop an ERP System for a 2,000+ end users organisation.
Could you please suggest me with comparable points that among (Java or .Net)
in which technology I should invest money and time? Although I have done
some average projects in both, but this project is going to be very big in near
future in terms of scalability.
I want to know your experiences and some tips from you people, so that I can develop
and deploy this project efficiently.
I rate .Net > Java for this project only due to less development time available.
We have to use some Rapid App Development technology.
I have to deploy this on Cloud (Azure or Google App engine).
It will be better if I got answers from those people who works in both (.Net and Java).
I will appreciate answers from your experiences.
I would suggest creating a very small proof-of-concept project in both technologies, which do something real - like allow people to log in, see messages, and allow them to type in new messages, and log out again.
Even if the project is laughably small, if you do it well, you will have a finished product on each platform which have shown you by experience how things works and if you like the way you had to do them. You will be able to see if you can debug in the cloud, if you can profile when load testing, if you can do fast work inhouse which then works well when deployed to the cloud.
And you will need to figure out things. Are the online resources good? How responsive is the StackOverflow community for each platform when you ask questions?
Personally, I consider the ".NET is Windows-only" to be important. Except for that I do not believe there is any technical showstopper for either platform.
I think both approaches can be used to deliver this successfully. I would expect you to have the same amount of success/pain with either choice. When it comes to making a decision you should base it on the amount of expertise that you have to hand. That is, your own and that of your existing colleagues and the resources that you can acquire (new recruits, contractors, consultants etc.).
That said a couple of technical notes:
The Java approach tends to have more freedom, i.e. more frameworks and choice of technologies for various solutions (although GAE will bring in some restrictions).
There is less choice in the .NET space, but that is not always a bad thing. E.g. you tend not end up in tireless debates about the logging frameworks.
Java is starting to age as a language and C# is a bit nicer, however there a number of newer languages that run on the Java VM (Scala, Groovy, Ruby, Clojure).

Java marketshare: what version of Java runtime do most people have? Do I need to use Flash to get 90% possible marketshare?

My friend and I are planning to build a simple chat client to let people in a (physical, real world) room chat with each other (people chatting over the same wifi network, possibly pinging some external server to organize things by the external IP address of the wifi network). Partly we planned this as a chance to play around with Groovy, which we haven't done much with. But then I thought - damn, how many people have the Java 1.5 runtime? Maybe this is kind of thing where Flash would be better (when I say "Flash" I mean "Flex")? I hate ActionScript and I have very little experience with it, and I've no real interest in using it, but I'm thinking, if we want 9 out of 10 of our friends to be able to use our software, Java is possibly not the way to go?
My concern is in particular with the demographic we have in mind, which will tend to be freelancers and artists and individuals, rather than people at work. I'm aware that Java still has a decent overall market share, but I'm under the impression that its use is heavily concentrated in the computers that people use at work. Folks who don't work at corporations may not have a modern runtime?
I then decided to look up Java market share. It is surprisingly hard to track down info about specific JREs.
There was this on stackOverflow, but its focus is on RIAs, which isn't what I'm talking about:
What's all this business about Flash, Flex, Adobe Air, Java FX and Silverlight?
And then conversations like this make it sound like Flash is the only reasonable choice to make if you want people to be able to use your software without jumping through a lot of hoops:
http://forums.java.net/jive/thread.jspa?messageID=317749&tstart=0
This seemed like a reasonable summary of Java versus Flash issues:
Client Java vs (Adobe) Flash for web applications, what to choose and when
I found it surprisingly hard to track down actual market share data on particular JREs. And I found no easy way to find out if folks who with modern JREs installed are mostly using their computers at work.
So I'm open to hearing some anecdotal information here. If we built our simple chat client in Groovy/Swing, would our target demographic be able to use it? Is Flash the only reliable way to go here?
If portability is your goal, why not go for a JS only approach, perhaps using one of the COMET styles of push? Here's an article to learn more:
http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications
If a JS RIA isn't what your after. Then Flash/Flex are your next best bet. I'm usually biased towards Java as a technology, but based on your target app and audience I think you'll get more joy using a Flash-based technology.
Adobe understand RIAs better than Sun, which was kinda demonstrated by some high profile Java 2D devs moving to Adobe in 2008/09. Plus with recent Flash Player developments you'll get your app onto more mobile devices.
Obviously server-side in Java ;-)

BlackBerry - is it possible to develop branded applications?

I've been asked to look into the development options for BlackBerry. My client wants to build an application that represents their brand. I realize that there are different techniques for doing development and the Java/J2ME approach is probably the most powerful.
Does anyone have experience with building branded applications, or have screenshots of BlackBerry applications that push the envelope in terms of user interface/experience?
I'd also like some feedback on the impact of the techniques in terms of experience. I'm sure there are various drawbacks to approaching an application from the branding angle, but I'd like to highlight these to my client.
The maker of PodTrapper (my favorite BlackBerry app), posted a great writeup on his experience here: http://www.versatilemonkey.com/story.html
One interesting thing I learned was that the framework actually makes you rewrite a lot of the display elements from scratch. So, yes, it's pretty easy to brand an app as your own (too easy).
I'm currently developing a blackberry application for my company. It's heavly branded (uses the company logo and colors from our cooperate identity). The blackberry api delivers many methods to display custom content. Personally, I see no problem in it.
Just set up a sample enviroment (it's free) and start developing.

Categories

Resources