I'm fluent in several languages (> 3).
When I learned my first foreign language (as a kid, in the 80's), there were only paper dictionaries and books. Software is a great improvement over paper dictionaries, however I’m unsure about apps. I tried a couple of applications and have been unconvinced.
That being said, the Internet makes it very easy to access content in the language you study and even find people with whom to speak. Youtube for example is full of videos on topics you like.
Let’s ignore software and tools, as it’s really secondary (yes, really).
The first step is the why? If it’s just for the pleasure, that may not be enough. There must be a reason, otherwise you are likely to give up. For example: work, living in the country, strong interest in the culture, relatives, origins, etc.
The difficulty of learning a foreign language depends on the distance between your native tongue and the foreign language. It’s very hard for an English speaker to learn Mandarin (and vice-versa), however French is a lower hanging fruit (you already share thousands of words of vocabulary).
It’s also very dependent on you. Some people are just better than others at learning languages. Just accept it and go at your rhythm.
The best advice I can give is that you should find a native teacher. I can’t stress the importance of learning with a native enough. It’s paramount for pronunciation and idiomatic phrasing. I would almost say that you are wasting your time with a non-native teacher, however competent she may be.
Why a teacher and not self-teaching?
I would refrain from self-teaching, as this will give you horrible pronunciation and probably give you bad habits. There is a point where an accent ceases to be cute and makes listening to you uncomfortable, don’t underestimate pronunciation. Remember: unlearning is one order of magnitude harder than learning.
In addition, learning a language is a serious commitment and without someone to give you homework every week (and checking that homework) you will very likely give up, even if you have excellent self-discipline.
Depending on your personality you can either have one to one sessions (for example with Skype) or work in group. I personally prefer one to one greatly.
Having a teacher and looking for that teacher will also test your resolve. :-) Every time someone mentions “I’m learning X”, I ask, “Why don’t you take courses?”. If the answer “I don’t have time”, I know the person isn’t serious about learning.
The temptation to give up will be at every corner as studying languages is very hard and the duration is measured in months, if not years. You will struggle, a lot. There are times where you will make no progress and seem unable to remember anything: that’s normal.
Speaking a foreign language is one of the greatest things in life. It expands your horizons and will overall make you a better, more understanding, humbler, human being. The pleasure of conversing with foreigners in their native tongue will belittle all the efforts you endured.