Is it worth of learning cfclient API for mobile application development? [closed] - javascript

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am ColdFusion developer working in ColdFusion since last 2 years. Recently before few weeks i have started learning cfclient API of ColdFusion Splendor as I am always interested in Mobile application development. But today after reading comments on the blog
http://blogs.coldfusion.com/post.cfm/coldfusion-mobile-features-are-not-just-about-cfclient-but-it-is-necessary#comment-08603915-B031-CC32-1C2DE6521C233F65
I am in big dilemma, Is it worth of spending time for learning cfclient. Some of conclusions that I found after reading the comments on the blog are.
Adobe never have a good track record on generating JS. They generate very ugly looking js.
cfform and cfgrid were introduced with some client side functionality.But now a days no one loves to use it because they have not been updated since long and we can get more flexibility using custom js library.The same may happen to cfclient.
It's a crappy decision from Adobe to focus on mobile application development instead of making the server side language more robust and fixing old bugs.
cfclient inspires the developers not to learn JavaScript.
Adobe is trying to solve a problem that does not exist.

I think you've answered your own question here, to be honest: don't waste your time.
Basically <cfclient> is, by Adobe's own admission, just a hook into the language to tell how the compiler should treat the code: translating it into JavaScript instead of compiling it to bytecode like with normal CFML. And it's a really crap way of achieving that.
The other reason is that they couldn't work out how to implement the hooks into ColdFusion Builder to make all its mobile-dev workflow work.
Another problem is that the Adobe guys are just... not any good at writing anything other than Java. This has been borne out by every single foray into anything other than Java that they write (this includes CFML, incidentally: they can't even write that).
So do you really want journeymen developers who aren't comfortable in the language writing wizards to write your JS for you? No.
Do yourself a favour, and just learn to do it properly. <cfclient> is just an example of Adobe having not learned their lessons over the years after all the <cfform>, AJAX-enabled layout widgets like <cfpod>, and Flash forms. They have never had the skillset to do this work properly, so don't put yourself at their mercy.
Oh, and I'm also voting to close the question as it's not one that can be answered objectively.

This is my take on it
Even if it were good approach today, it is not future proof. New browsers will come, new javascript features will come. I fear that this won't move ahead.
I could not agree more
And some of the existing bugs really need to be addressed.
<cfclient> asserts that client side development should be in cfml. IMHO, Coffeescript covers some of those concerns.
There is a demand for Mobile friendly websites. If I had to pick ONE thing to move ColdFusion forward in this arena it would be: Can we get the JSON functions to work right
There are many ways that Adobe could have moved forward on the mobile application front. If they promoted various community based solutions that would be useful. I know Bootstrap + FW/1 + ColdFusion. But I don't know PhoneGap/Cordova + ColdFusion. I would be good to see those work together.

True, But if you're using CFClient, you're not wanting to write JS anyway, so what do you care what it looks like on the client.
I believe Adobe has promised that we would be able to update the core underpinnings of CFClient (probably PhoneGap/Cordova) and other JS libraries.
Agreed.
I don't know about inspires.
I disagree here. I'd love for a way to quickly deploy to mobile.
PS> I'm sure since this question isn't code related, it will get downvoted / deleted; Might be a better topic for the CF-Talk mailing list or some ColdFusion forum somewhere.

Related

Application bloat by using third parties library in NPM & Javascript [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I'm working on a project with a friend.
He is by far a better programmer than I am, as I have been programming for a little over a year.
I noticed he often builds components, and functionality from scratch. I'd consider him almost a "hipster" in terms of building functionality from scratch.
Is there any downside to my approach of utilizing npm libraries, etc for use? Ie. Date Pickers, Map Components, etc?
One reason I might conjure up is that perhaps there's a performance hit. Will load time be affected significantly? I'm not building a large application, in fact I'd consider it small, BUT! I'm wondering if I'm "cheating", OR this will lead to bloat.
As a quick preview, my basic functionality would currently look to include:
Emoji Picker
Date Picker
Google Maps API Maps Component & Places
Form Validation Library
Superagent
Moment.js
First of all you're not cheating.
It's quite common for developers to use third party packages.
But it can be good experience learning to build your own components.
Don't forget you can always swap them out as your experience, knowledge grows
Pros.
They can save you development time.
They can do things that you may find difficult to implement.
They can be better written and tested.
Cons.
They can be badly written, unreliable, unsupported.
If you don't know how they work they can be problematic if there's a bug or if you need to extend the functionality.
You could end up including a lot of script that is unused.
You might be able to write something better and more maintainable.
Bundling, minifying, uglifying your JavaScript and tree shaking with tools like rollup can help keep your download sizes down.
If you use packages, use reliable ones, look at reviews and ratings, check out the activity and issues log.
As with all concerns performance related - test.
Use fiddler or chrome to see how big your downloads are, measure your download times.
Where possible test under realistic device/network/load conditions.
It's a good test of knowledge on your part, since you are new, to attempt to write all of those things yourselves. It's how a good portion of the users of stackoverflow learned: take on a project that sounds doable, but has an unknown section for you at the time. It's how I personally learned just about everything I know.
That being said, I don't think it's cheating. There's a common phrase in English: "Don't reinvent the wheel." The reason that those libraries exist is because someone took a lot of time to make them, and then realized that other people could probably benefit from it as well. With the example of Moment, working with Date/Time in any language is a huge pain, and the reason Moment is so popular is because no one wants to go through all of what Moment's creator(s) went through already. Why waste time reinventing a perfectly good, well tested, and reliable wheel?
Now if ever you go "man, this wheel is nice, but wouldn't it be better if they were made out of something more durable so that they can go over more bumps?" then in this case you are improving the wheel -- and similarly there are many projects that started off as a fork from an already existing one looking to add what the author felt was missing functionality.

Where should Full stack JS beginner start? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
So I won't say I'm a complete beginner, as I know the very basics and have a CS degree(that I'm very rusty at) but I have gone back through and refreshed myself with the CS50 Harvard course.
The last project is to build something, and I've gotten more into learning JS for unit testing at work and while we mostly use rails...I'm interested in learning the new emergent stuff.
I've heard the 70/30 rule applies to full stack devs, and I can't imagine if ever be good with front end stuff so I'd imagine that would be my "30". However with ES6 out and all these new conventions and frameworks I'm a bit lost where I should start?
There is a highly rated JS and Jquery book on Amazon I've been eyeing, but it's quite old. And I wonder about backend frameworks too.
My ideal learning "stack" would be node/react and mongo (with express for node) but it seems like a bad idea to learn them all at once. If I'm interested in backend should I just stick with learning node/express first?
Do I need to worry about ES6 as a beginner? I guess I'm just stuck where to start and in general which path I should take. I've done some dabbling in express but it seems like getting at least decent with JS and Jquery makes sense first?
Thanks
Sorry I think StackOverflow is not the right place to ask about your question and this will be soon removed or closed and tagged as "too vague", but I'm here to help and share what I know, so I'll answer anyway:
So you:
Know the very basics of JS
Have a CS degree
Are interested in back-end development
Well, you're years ahead of other people starting with JS. You know something and you want to specialize in a given technology. That's great.
You can start with Node.js since you want to do back-end development, and your CS background could help you with that. Using Node.js will give you the environment you need and you can make your experiments with JavaScript there. Node.js is just a collection of JavaScript APIs for server-side programming, so learning it will also make you a better JS developer since you'll learn both together.
Do you need to worry about ES6? Well, don't think about ES6 as something different than JS. If you learn it by up-to-date JS books you'll learn it as well.
I would avoid thinking about your "stack" right now. Learn Node.js and JS by the way and you'll have a strong foundation to learn anything else you want.

Which forms of JavaScript for intermediate-level Rails developer, only dev on team? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am acting as web developer for a small startup, taking over as the only in-house developer to maintain and adapt the application that was initially put together by a team of contractors. I would consider myself to be at an intermediate level with Ruby on Rails. I know enough about front end technologies like HTML and CSS to use Bootstrap or Foundation effectively and write my own tweaks when necessary. However, I only can read the JavaScript code of other developers well enough to make small modifications to what's already in place.
I would like to become proficient in JavaScript to help round out my skillset but there seem to be a lot of JavaScript "options" out there and I'm not sure what's on the way in, what's on the way out, what's popular, what's most useful, easiest to start with, best fit for Rails applications and so forth. And by "options" I mean "regular" Javascript, jQuery, Node, Angular, etc etc.
In hopes that my question will meet SO terms as "answerable" I'd like to focus on the question of what kind of Javascript fits best with Rails and which technologies are the most generally relevant today (i.e. not on the way out of popularity already).
Your choice should depend on what you're doing. One case might be using Rails primarily on the back-end, pulling data from it, and then generating your markup and displaying content primarily on the front-end with JavaScript. In that case, you should look into a JavaScript framework like Ember.js or AngularJS. If you're going to be generating your markup primarily on the back-end with Rails, having that markup being pre-populated with content before being sent to the user, you might be better off using jQuery for DOM manipulation and the occasional AJAX request to your Rails back-end.
In the case you're looking for a framework: Yehuda Katz is a leading voice in the Ruby on Rails core team, and has a similar role inside of the Ember.js project. While this isn't strictly objective, I'd say that Ember is the JavaScript framework that most closely matches "The Rails Way". That said, any framework will integrate well if you're using Rails as a backend, and AngularJS is currently more popular and might be easier if you're looking for examples and helper libraries.
I'd like to point out that Ember is just a framework, just like jQuery is just a library. Knowing JavaScript from the bottom up is a very helpful thing when working with anyone's code. I highly recommend checking out the Learn JavaScript page on MDN, and maybe picking up a copy of JavaScript: the Good Parts by Douglas Crockford. The former has a bunch of free information about getting up to speed on JavaScript. The latter is a dense, and somewhat controversial book, but (in my opinion) is one of the best books about dealing with the language's rough edges.

Front end development: where to start? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm very sorry if that question has been asked already, couldn't find anything closely related though.
By now I've pretty much learned HTML/HTML5, CSS/3, learned using JQuery (not saying there's nowhere to improve, obviously there is). I really want to start learning front-end dev (client MVC, etc). I've started learning backbone.js, but it turns out i'm having difficulties learning it. Am I missing something? I've read "JS: Good Parts" and Javascript Garden is basically my go-to source yet I still get confused.
I'd appreciate any recommendations as to what I should learn/practice first, thanks :)
My favorite answer for that is always - start your own side-project.
Pickup any simple existing application, ToDo list, issue tracker, blog platform, what ever and spend energy to make it done. Host sources on github, search for similar applications to inspire.
You would not believe how many actual questions you would have, by just trying the things out. If you already have good skills with HTML/CSS and JS you'll be able to build something really valuable and learn a lot.
Backbone.js is good, but could be really difficult to start with. Do, some learning curve - implement same simple app in jQuery, then Backbone, then Angular.js. It will give you great client MVC overview.
Two things
Don't quit.
Stackoverflow.
You can read all you want and it will definitely help, but in the end, you'll just have to start, work through it and finish something. Finishing is very important, so I would recommend starting simple, for example, build your own todo with an example on the side and work from there.
Different people have different learning styles, so not all answers you will get will work for you (except GijsJanB's "Don't quit"). Personally, once I am through a tutorial or other documentation, I like to study a real-world system of substantial size. Two that I've looked at and might match your interests are:
Brackets: a Javascript/HTML/CSS editor written entirely in Javascript. Written and maintained by Adobe, open source and available on Github via this link.
Travis-web: the front-end of the Travis-CI continuous integration framework, based on the Ember framework. Written largely in CoffeeScript, not JavaScript proper.
I'd suggest AngularJS (http://angularjs.org/). Why? Because it has a pretty good tutorial section, good documentation AND it's backed by a large company (Google).
But unfortunately, the learning is still up to you ;-)
A free online resource is w3schools, it teaches you back-end too(PhP and mySQL).I really suggest you to learn Angular2, this is a great js framework that most front-end developers use. Always practice,code at least 2 hours a day, make a lot of websites for your portofolio, learn how to make slideshows and animated text, you can even learn how to make a working login page, and a working contact form(a lot of cients want theese stuff). Learn photoshop and illustrator because clients want great design these days.One thing you have to remember is that you never stop learning,if you ever think that you finished learning it emans that you are at the beginning.Good luck and never forget the semicolons :)

Estimate: How long to learn .net/javascript efficiently [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
We have a slightly over optimistic boss, so I would like to hear it from other people.
Someone who has about 3 years of good PHP, HTML, and CSS knowledge. However this person has never really worked with any other type of object oriented language like c++, java, python or c#. He is just now discovering things like LESS, media queries/responsive design, minification & bundling, and has no real JavaScript knowledge, and very little of jQuery.
Now how long would you guys estimate it would take (just a ballpark estimate, knowing he is motivated and smart) to be able to make/manage a site in asp.net MVC that has the complexity of a site lets say a mix of Mashable and Twitter and that makes heavy use of cache management, Ajax web services, responsive design, authentication, linq, anonymous functions, delegates, async/tpl, database access, jQuery, and object oriented JavaScript ?
The how long question is more: how long do you estimate till he's is able to make or manage a site like above, but the site must also be of high quality, and able to take on millions of monthly users.
Thanks all !
Please only serious feedback. Even if you guys could break down the learning curves for the different technologies that would be great. I'd like my boss to get a serious and non biased idea of how long these types of things can take to learn.
a LONG time. Object oriented is a little bit of a different beast than simple scripting. Of course everyone learns at different rates, but i'd say it'd be something on the magnitude of several years.
Changing platforms is a real tough job. Most people try to find exact same techniques they know in PHP to do it in ASP.NET MVC, which is never possible. And all these people do not start as fresh, they skip things as considered as they know it. This leads to half knowledge and then just searching on google on how to do similar thing on different technology.
We did migrate from Java to ASP.NET MVC and we could do it in reasonable period of 1 year. First 3 months were put in learning code samples from MSDN. Next set of 3 months were spent on writing code for our app straight with the knowledge we had. But it does end up in writing code very inefficently that needs refractoring. After that we did refractor code for 6 months!!
ASP.NET MVC is centered more towards Entity Framework and Linq, and that is the tough part, if you can master Entity Framework the way it is supposed to be done, than rest is very easy. Digesting navigation properties and writing queries using navigation property instead of JOINS is the hardest part.
ASP.NET MVC with EF means, NO SQL, NO JOINS. I always loved ORMLs so I learned quickly, but it is little confusing, you must focus more on Entity Framework.
Rest of ASP.NET MVC is pretty much similar to that of any php MVC framework.
C# would be a bit easier to learn. C++ would be the slightly better choice if you need maximum performance. I would not recommend java, but that is my personal taste.
Changing a language is mostly changing the syntax, which might be learned in quite a short timeframe. BUT CHANGING THE PARADIGM forces you to think in new patterns, which is a lot harder to do.
Nevertheless we are talking about AT LEAST 2 years, if he is learning fast. After that, he might start working on the actual site, which will take also at least more than 6 months. If the design is already made by someone, who knows what he ios doing. Otherwise the time may range from additional 6 month (because he needs to start from scratch at some point) and eternity.
I would not want to be the guy, maintaining the site, if he learns the language by working on the site. And you would not want to be the one to use it.

Categories