What to learn now? EJB or Android Programming - java

I learned all basic java classes and how to use them. I like to learn Android App Programming. But one of my colleague suggested me to learn EJB. What is the best to learn?

It depends on what your goal is. Are you learning for personal interest, or for potential marketability?
I don't know anyone who learns EJB for fun. Also, its usage is waning in favor of lighter weight frameworks like Spring. I'd recommend learning Java web application development using Spring/JSP/servlets/MVC framework for marketability in your career growth.
Learning Android would be fun, would develop your skills, and would also provide some value for future employment.

Android, because you think that is fun.
EJBs (Java EE) are rarely fun and it is your interest that will carry you through efter the initial interest has settled. It is best if you find a project using the technology you choose, that you will actively use as it will give you the most incitament to continue in the long run.

They are totally and completely unrelated.
So, if you want to learn some Android programming (to develop APPs for Android platform), go with Android.
If you want to learn some Application Server (Java EE) programming, go with EJBs.

If you don't have a particular goal I'd probably go with writing an Android app.
EJBs will look good on your resume, but if you are inspired to make an Android app that may go even further.
It's always easier for me to learn something if I'm doing so to solve a particular problem.

It depends on your,but I think If U are in university, U can practice with both ideas. And in future, U can choose better;)

Android has more potential in terms of personal experimentation. You can experiment with various ideas and create apps for fun or business which will give you enough learning whereas EJB is application server programming. You can go for this as well if you are genuinely interested.
In any case, you can refer this site for you journey ahead: Android Tutorials;
and EJB from here: EJB Course

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.

Translating/transposing an Iphone app to Android

My team and I are within days of finishing our first iphone app. However, we went to program the same app onto android. None of us have any experience with android. I've been reading up on some tutorials for android beginners.
Since I know there are many knowledgable and experienced android/iphone programers on stackoverflow, i was wondering if there are any tips/resources you guys could shoot my way.
thanks!
For the best experience (for your users), you really ought to learn how to develop on Android using the standard Android tool chain. Applications shouldn't just be 'translated' from platform to platform, they really should be redesigned.
There are differences between platforms that really require rethinking of how things should work, both at the user level and at the code level. Simply translating between platforms results in a poor experience for the result.
I don't know how your project is structured out or what technology you use. Anyway, for me, I implemented all the logics and coding in C++ other than the interface itself. Then, I used JNI for the C++ code on Android. At the end of the day, it's a matter of building Java GUI programming on Android.
Alternatively, you could use some portable framework like Titanium and PhoneGap. But they do need some learning curves and you might experience weird behaviors.

Most effective server side programming language for web development?

This is more a question of pros/cons between PHP and JAVA.
Iv been doing research, and iv narrowed it down to those two.
And in consideration, id like to go into mobile app dev...So thats +1 for Java.
Time taken to learn the language is not an issue...Just would like to know which is the most effective between the two languages mentioned above.
And on a slight note. Can Javascript work with Java? And what is the real advantage of that?
All answers are appreciated, thanks in advance.
I'm sorry, but PHP and Java are not the only choices. Ruby on Rails and Python's Django framework are both excellent tools for web development. While I haven't used it, Groovy's Grails framework is also very highly reviewed (largely by ex Java programmers). In certain (admittedly obscure) circumstances it's even advisable to do something off the wall like write a CGI program in C. It all depends on what you're trying to do.
Mobile app dev shouldn't influence your choice here, because no matter what web framework you're working with a mobile app is a whole new ball of wax.
So, here's the deal: asking people to compare PHP and Java really won't get you any meaningful answers -- you don't have the background necessary to understand what we'll say. You really need to figure out what you're trying to do before you choose your tool. It's like saying "I'm thinking about building a house, should I use a screwdriver or a hammer?" Here is what I would advise:
Go learn to program. Pretty much any language will do, but I'd suggest something nice like Python or Ruby. Spend a few months getting comfortable with programming first.
Pick a project. Make it something simple. When you know what your project is, pick a tool to use to complete your project. This may involve asking another SO question.
Rinse and repeat. Complete many projects. Once you've finished 5 or 10 web projects you'll be in a position to compare different tools. The more tools you use, the better. I'd suggest you do one in Ruby on Rails, one in PHP, one in Django (a python framework), and maybe even one in Java with JSP.
Once you've got that base of experience come back and ask this question again. You'll actually be equipped to understand the answers. Of course, once you've got that experience you won't need to ask the question because you'll already know the answer.
The one you know.
Some feedback:
Mobile app dev is not necessarily just web development.
Javascript is the language of choice on the web browser and works with PHP, Java, etc. on the server.
In general, one language is not more effective than another.
Seriously, judging by your post, I would advise you to start learning PHP and Javascript.
You already have a web browser so you can start writing javascript now.
As for PHP just install XAMPP from http://www.apachefriends.org/en/xampp.html and after a double click you'll be ready for web development.
After learning what its all about you'll be able to then check out Java and see if it is more effective in what you are trying to do.
Your question really indicate you need to learn alot about web development and programming in general, so I could answer your question but.. I'd recomend you go read up a little.
And in consideration, id like to go
into mobile app dev...So thats +1 for
Java.
How is that +1 for Java? We're talking about server-side languages.. you're not running your server off a phone are you? Sure, you can use Java to build apps in addition to running your website, but that's a different story.
Time taken to learn the language is
not an issue...Just would like to know
which is the most profitable at the
end of all the training.
Neither language will make your site more profitable, but you may be in higher demand with different companies depending on what you know.
And on a slight note. Can Javascript
work with Java? And what is the real
advantage of that?
Well... yes, but that's almost a nonsensical question. You use Java or PHP to produce the HTML that gets sent to the client, and then your JavaScript manipulates that. It's completely unrelated to what language you use server-side.
#comment: I can't really say which is more worth learning. I suppose Java is more versatile in that it has more applications outside the web. PHP is supported by more web-servers though (AFAIK), so you won't have trouble if you need to work on a different server.
I can't fairly recommend one over the other though. I've only used PHP for web, and Java for non-web. I like PHP because it's easy to pickup, easy to use, and all sorts of stuff is built into the language without any includes or anything. Has a big community, so there's lots of scripts you can download. One might argue that it's also a mess of a language, but as long as you aren't all uppity about that sort of thing, it's not really a problem. Java OTH... I don't know. I'm not a Java keener, that's all I'll say :)
Most of the answers here should be able to direct you towards your answer though I would just like to say if you are going to learn a programming language to make Web Apps learn Java, not because this will be the best tool for the job, each job is different, but knowing a full fledged language you will be able to quickly adapt to other languages.
You don't learn a language, you learn the concepts behind programming, then apply them to different languages.
I think you need to outline the context of your question. For example, if you are looking to get a job in IT, then the language that is most asked for in job ads is the one you want. If on the other hand, you have an application in mind that you would like to write, then you need to tell people (without giving away the details) what type of application it is so that they can tell you the most suitable languages/APIs to for that area.
But remember this - there is no such thing as a super programming language that is the best for everything. Each language is suitable for a range of tasks in a range of contexts, and is usually awful for everything else. Without the context of where the language will be used, no-one can tell you which is better.
Stop trying to kill two birds with one stone. There are different tools for different tasks. You can write mobile apps with Java but you can't write web apps with it. You'll have to use a server-side programming language such as PHP, Ruby on Rails, Django (Python), etc.

Adobe Air vs Java for Internet Cafe Time Manager Application

I'm planning to do a little project to expand my knowledge in programming. The application I'm trying to build is an Internet Cafe Manager (I Know there are a lot software out there that is similar to what I'm building.). I had chosen this project since it involves connecting to a network, displaying data and time, and has a client and server version of the application.
Now I wan't to get your opinion on what language and approach do you prefer for me to use. I am thinking I will be using Air or Flex since I have a some experience with flash and I am also a fan of good interfaces of AIR/Flex. Also I am thinking that there maybe some read AIR application I can integrate to rapid my development. Java is also in my list, Two of my programmer friend suggest that I will go for Java, But I don't have any background on java.
What Do you think? Please let me know your opinion.
Thank You!
This is definitely a subjective question but it really depends on what you are most comfortable with. Personally, I feel that the tools for Flex/AIR development are much easier to get started with the those of Java. This is especially true if you are taking about using an IDE for Flex development. Using the Flex framework could definitely allow you to get more done quickly.
Just my opinion.
Java is definitely a useful language but can be a big pill to swallow if you are just starting out.
Hope this helps!

Important frameworks/tools to learn

Heyja,
a frequently used answer to the question "What is so special about Java?" is "The tools and frameworks". I guess this is correct. I am stunned when i see all the tools and frameworks which make your life as a developer much easier.
My Java skills are not perfect, but good average, and i am still working on it. I have begun to learn Ant for example and i don't want to miss it. It's awesome. The same with Hibernate. Now i ask myself what i should learn next. I want to gain experience for myself and especially my CV. Unfortunately there are so many of it. And everybody is talking about it, like Spring, Struts, JavaServer Faces, Maven, ...
What is widely used in the real world? What tools besides Ant or Subversion/CVS are important? What framework is necessary to learn to be accepted as a "real Java programmer" and to get the interesting jobs? ;-)
If we're talking marketability, then you ideally want to be the kind of developer who can be productive at any layer of a production app. So learn something about each layer.
MVC: Struts, Spring MVC.
Data Access: Hibernate, iBatis, JPA.
IOC: Spring (huuuuge for integrating large systems. If you can, learn the AOP principles that Spring is based on)
App Server: Tomcat, JBoss.
Testing: JUnit
Presentation: JSF, JSP.
Also, don't neglect the non-Java technologies you need to know:
SQL - because you will need to talk directly to the database
HTML
JQuery - never underestimate the importance of neat UI features. For most users, that's the only part of what you do that they understand.
If I had to choose one thing out of this list, I'd go for Spring. If choosing two, I'd take Spring and JQuery.
If you want to be perceived as an expert Java programmer, there's no substitute for knowing the standard Java class libraries inside and out. I've seen way too many examples of Java programmers, even experienced ones, re-implementing things from the standard class libraries because they don't know they're in there.
JUnit is the most important Java framework to learn. Not only is it a valuable tool to use for unit testing, it teaches you what a framework should be: small and focused on doing one thing well.
Maven is worth learning, but I would suggest Spring. Spring will make your coding life much simpler.
The Apache Commons project provides a lot of useful tools that save reinventing the wheel.
+1 for Spring.
Struts 1.x is not the latest hype, but is probably worth knowing, as gazillions of lines of code have been written with it. If you're in the consulting business, you'll run into it one day or another.
Also, if you're improving your Java skills, I definitely recommend the book "Effective Java, 2nd edition" by Joshua Bloch.
Two suggestions, somewhat off topic:
Never put something on your resume unless you really know and remember using it. I came across too many candidates who put COM on their resume' without even knowing what the acronym stands for or how to define it.
IMHO, the ability to quickly find answers, learn and understand is far greater than a specific knowledge. Today it's Java and Spring, tomorrow it's Ruby on Rails. Who cares.
Eclipse is a must. Not only is it a great IDE, but it integrates quite well with other tools (SVN, Ant...).
I highly recommend the Find Bugs tool. It is a static code analysis tool that reports likely bugs in your code. The plugin for Eclipse is fantastic and is one of the primary reasons I don't use another IDE.

Categories

Resources