Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I know it has been asked many times before but I am still confused.
I need to develop an application that works mainly with data, something similar to facebook for example.
I want to target both Android and ios.
I do know some Html/css/javascript though I am not an expert.
I find it very difficult to work with Javascript, difficult to debug etc.
Will it be easier to work with Java/ Objective C?
From my experience .Net is 100 times easier then Javascript. Is it the same with Java/Objective C?
Also I am looking for the long run on how to work in the next projects(which will also be information based), so I am willing to sacrifice time and learn platforms. What will be the learning curve for on against the other, and once you know the platforms, what will be easier?
Another question: do you think there will be a demand for phonegap developers in the future? since I don't think that now it is in demand/use, as the expectations were from this platform.
I'll try to answer some of your questions:
If your app is data-intensive (facebook example, a lot of multi
threads to load a lot of data) you should use native language for
your app because it will be a lot less slow. I develop both in iOS
and Android, the learning curve really depends your own experience.
If you are better at object-oriented languages and have experience
with listeners Android will be easy as pie. But learning to develop
in ObjectiveC requires to have some experience with pointers and
structure/funcion-oriented languages (C,C#,C++). I find Android to be
easier for beginners tho ;)
Phonegap at the moment is a very good choice for small, light apps,
and it's community is growing bigger and bigger (you got Cordova
also, works just like Phonegap) and if you have experience with web
development and design it will be a LOT easier to develop your first
app.
There is a big BUT in using Phonegap/Cordova: the UI is slow at the moment, by that I mean that when you click a button or icon it is somewhat slow to react compared with native...if your app is client-oriented I wouldn't use Phonegap. This "slow" effect worsens with data-heavy apps so take care what you decide.
Hope that I've helped you out, feel free to ask anything ;)
Will it be easier? Not so much when you get the hang of it. I have made a web app using PhoneGap and I still liked writing it in the native enviroment (PhoneGap did not produce the results which I have hoped for).
If you really have time and you're willing to learn then you should go native. That way you will learn more languages which will benefit you more in the long run. Java is going to be easier if you're used to OOP. But don't be scared of anything. Go for it!
In the future? Well JavaScript, HTML5+CSS3 is already popular and might grow even more.
Use PhoneGap for small and light apps and not for "Facebook" type apps:)
Thats just my humble opinion.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I want to start on a new project regarding screen recording from web browsers, probably using a plugin or something similar (if it is possible). Basically I need a web interface from where the user runs something like a plugin, select the area where the screencast should be, press the record button, talk for maximum 5 minutes then the video should be uploaded to my server for further review. (I am doing this for a school project where the students/users use this max 5min videos to tell the teacher about an issue/problem etc.). I've researched (Google it :D) about different methods that I can use. I am a student aswell and I have a limited amount of programming knowledge mostly with python, html, css, javascript, objective c & php but I am more then glad to learn something new if is required. I've found an open-source plugin called ScreenBird
https://github.com/adamhub/screenbird
This is what I need but it requires from what I know a Python Server (correct me if I am wrong) which I don't have from the school. I can work only on a Apache server from where my issue, otherwise the ScreenBord should be enough. I don't want to go so much into programming the plugin because I want to work on the design of the website mostly for a better presentation. I really want to start working on this as soon as possible but now I am stuck on what tool to use and that's why I am writing this question: What is the best web-based screen recorder plugin for my needs?
For the Screen Installation instructions are given here: https://github.com/adamhub/screenbird/blob/master/README.md
I don't think you need a python server. You just need python installed.
You should be able to run it on localhost and local network, if you don't need it on the internet. Buying hosting for a python server might be useful in this case, its not too expensive :http://www.whoishostingthis.com/compare/python/#
You didn't mention what type of server you have access to, default could mean anything (Apache, IIS, TomCat etc)
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I've been programming in java for a while and I really like the language, I've mostly just done game programming, but I want to get a feel for some of the more commonly used api's and frameworks and just get a generally more well-rounded grasp of the language and the common libraries in the current job market.
From what I found things like spring, hibernate, and GWT are pretty in demand right now. I looked at some tutorials online and they weren't hard to follow but I really felt like I had no context for what I was learning - I had no idea how any of it would be use in a real work environment. I know nothing can rival the benefit I'd get from actual work experience but that's not an option for me right now, I need another way to learn these technologies in a way where I'll at least feel comfortable working with them and know what I'm doing beyond just understanding what code does what. I checked out a few books but they were all really old(like pre-2006, am I right to assume those books would be kind of out of date today?) or required experience with libraries that I didn't have and can't get. I hate getting stuck looking for the best resource to learn something instead of spending my time actually learning.
All I really want is someone to point me to a resource(website or ebook) that is aimed at already experienced java developers and will not only teach me some interesting useful java technology(anything that is useful, I dont know much outside of graphics libraries and game related things so I was thinking some database or web programming api's) but also give me a good perspective of it and leave me feeling confident that I could actually use what I learned on a practical application.
If my post makes you think I'm not yet experienced to be learning these things, which I doubted earlier today but am now starting to question, then what do you think is the next step for me? I just want to get better at java.
Thanks everyone
Register to the online courses at www.javapassion.com. It is cheap for the content and quality they offer.
The best way to learn is by doing. So I would recommend you to either start a private project which uses the technologies you want to learn or to find an open source project which uses them and contribute to that. The latter option has the advantage that you get feedback from other programmers, but the disadvantage that it leaves less room for experimentation.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
What are some modern, more-productive alternatives to Freemarker as view technology for rich web-applications using Spring? Is Spring MVC/Freemarker still one of the best combinations, or are there others?
The application I have to build is small, but complex that will likely require a lot of custom javascript as all of the controls and ui is very non-standard (it's not really a business application). Blizzard's gaming websites like for Diablo 3 is an example of what I'm trying to do.
Is this combination still the best to suite my needs, or are there other technologies I should take a look at?
Thanks
There are several good and well established template engines on the market. Most of them play nice with Spring.
Velocity - a classic and one of the most popular template engines out there. Quite good, quite flexible, ugly syntax but good Eclipse plugin.
Thymeleaf - one of the most feature rich and flexible template engine on the market. Performance is good, although not ground breaking. My personal choice for most of the projects.
String Template - really good performance, quite hard to use. Very flexible, thought...
MVEL - seems to be really, really fast and quite feature-rich. For me it was to complex and quite hard to use in a project with junior devs.
Rhythm - from a Play framework to Java, nice and very flexible. Razor syntax is great. Rhythm is really fast, very flexible and nice to use. Another personal choice for my projects, next to Thymeleaf. There is a nice article on how to use this engine in Java.
httl - small, easy to use, not that fast but still good enough. Quite flexible but not that feature rich.
Trimou - another fairly new kid on the block. Looks decent, uses Mustache templating syntax and is fairly easy to use. But for my taste a bit too simplistic and missing some features.
Rocker - apparently a fairly new development, actively maintained and extended at this time. I like it, it has a nice idea for the syntax but it is nothing that resembles other syntaxes. A lot of simple features, missing some advanced ones IMHO. Very performant according to a test we just made.
Pebble - we used it for a couple of different purposes and it proved rather simple to use with a decent syntax inspired by Twig from PHP world. Performance is really good, one of the fastest we tried.
Performance wise, according to our tests, in order from the slowest:
Thymeleaf
Freemarker
Velocity
Trimou
Mustache
Pebble
Rocker
Your mileage may vary!...
There is a nice comparison of few of those (quite old article).
Also a nice tutorial on how to use some of them by Baeldung
There are plenty of template engines out there. Check this directory if you need more...
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
As a practical developer I would like to make a good algorithm for my specific task, built from blocks, like a 'boundary extraction', or 'gamma correction' and so on, but I don't want to implement the wheel, making all that stuff, so I wander - if there's any powerful CV library, like C++'s OpenCV?
Saying "the best", I mean library having following properties:
Lot of different algorithms implemented
Extensibility - I can create new stuff in terms of the library
High performance
Thread safety
You might be interested in a pure Java open source computer vision library I have developing, BoofCV. BoofCV supports many common image processing operations, advanced feature detection, wavelet denoising, camera calibration, stereo vision and structure from motion . It's also very fast. Currently has the fastest SURF implementation out of any open source library, including C/C++ ones. Speed wise, it is very competitive with OpenCV for mid to high level vision algorithms. OpenCV is of course faster for low level image processing.
Website: http://boofcv.org
OpenCV vs BoofCV: http://boofcv.org/index.php?title=Performance:OpenCV:BoofCV
SURF Performance Study: http://boofcv.org/index.php?title=Performance:SURF
Ok enough marking. Hope you guys like it!
Much of the code is already in place, just missing a couple of components.
Shaman,
I have been looking a long time for a image processing library comparable to opencv in Java. For the amount of automated tasks opencv performs there is nothing that comes close to it for the advanced machine vision type applications.
In terms of image processing though imagej has a large amount of preimplemented algorithms and plugins. I use this library all the time to preprocess things I need to send into opencvs machine vision utilities. This is also open source with easy ways of adding additional features through plugins or direct manipulations so I think it could meet most of your requirements.
OpenCV has Java wrappers:
OpenCV Java and Processing library
JavaCV
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I want to start making cellphone apps with Android as first choice but not the only one. I have 10 years of experience with Java, C#, C++ in commercial applications and I know that many things and practices for this applications are not valid for cellphones. Where do I start reading? How do I adapt my way of thinking to this new environment as quickly as posible? I plan to make some money with it sometime in the future as an extra income or a career change maybe, who know. Any resource or advice you could recommend will be very welcome. Thanks in advance.
Just start with Android Developer site http://developer.android.com/index.html.
It contains all you need for the beginning. Also take a look onto Commonsware android books,
those are really great both for beginners and experienced programmers - http://commonsware.com/books.html.
You could start with two great books listed as reference [1] (Ableson F. et al., Unlocking Android, 2009. Manning Publications Co., ISBN 978-1-933988-67-2) and [4] (Conder S. and Darcey L., Android Wireless Application Development, 2009. Addison-Wesley, ISBN 978-0-321-62709-4) in my degree thesis. Both have an extensive walk-through of Android, which you as a developer should know. You'll get all you need from "Hello World" to deploy an actual application in the Android Market.
Android is the place to start, since you already know Java and C# and C++. You can even use native classes in Java written in C or C++ if you have some useful standard classes in your library. More on Natives you'll find in the reference book [9] (Silva V., Pro Android Games, 2009. Apress, ISBN 978-1-4302-2647-5).
The best of luck!
Only support the TOP os's which generate income. So at this moment IOS and Android.
Don't go down the path of Symbian and Java... it's dirty, and you won't like what you see down there.
What really got me going was the Hello, Views documentation. Will really get you up and running instantly.
I recently decided studying Android, and http://developer.android.com was a great resource. You should read the Application fundamentals doc first and User Interface documentations later.
There are some tutorials too.
I read the whole Application fundamentals, and that gave me a good idea of "how to program for Android" since it has its own architecture and environment. Get the idea of Activities, Services, Broadcast Receivers and Content Providers and try to adapt yourself to that structure. Then read about how Tasks work, and later go into UI.
As a subjective opinion, being Android so popular and growing, I don't think it's worth the effort to study Java ME or even C (I'd go for iPhone devel in any case with Objective-C). Android will probably give you more money and faster. Java FX might be interesting...
iPhone
Android
Samsung Bada
I would like to mention that iphone and Android communities are very much evolved and have a great developer community and resources. Samsung Bada doesnt have a good developer network nor does the SDK support many operating systems. I think it works only on Windows.
You need to first understand the mobile platform architecture, the different frameworks which the platform exposes to the programmers to develop applications.
There are emulators for you to test, however you have to have one of those devices to do a real time on-device testing.
With respect to programming, i think your experience is more than enough but one needs to come out of the frame of mind and think differently. A typical device has limited processing power, limited memory, limited screen space but the user demands beats expectations compared to desktop/enterprise software.
Lastly most important thing is the IDEA of the application. You may want to survey existing application on the stores and start thinking. You can also develop and application which would solve your problem with mobile devices and you know other users also may want such a application.