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 4 years ago.
Improve this question
I've been playing around with JQueryUI for my latest project. I've run into some issues and questions, and I've not been able to solve them either myself or with the help of SO.
Here's my current impression:
Styling the UI seems quite daunting .. a lot of "framework" to understand before being able to do stuff
not much help either by googling or by asking questions on SO .. doesn't look like there is a huge community to support it
What is your opinion? Should I "tough it out" (I admit that this may be more my problem than a problem of JQueryUI) or should I look for alternatives?
I have to admit to having some reservations about jQuery UI. Basically it comes down to this: it smells funny.
Now I have enormous respect for jQuery proper. It's fast, lightweight and it solves a whole heap of browser compatibility issues. It's also extensible via plugins that you can use or not at your discretion.
jQuery UI is a different beast. The whole theme thing is really heavyweight. What I mean by that s that, for example, if you just want a date picker, you need a theme for that and thats a lot of CSS and a lot of configuration just for a datepicker. Compare that to a datepicker plugin where you just use it (or not).
The whole premise of the heavyweight theme thing is that it looks built to a huge UI framework with a dizzying gallery of widgets... but there isn't a dizzying gallery of widgets. There's just a handful. So why the complex theme configuration?
To me it just seems over the top. If I were you I'd pick up widgets for things you need and possibly look at something like jQuery Tools, which seems to be less convoluted.
In my opinion jQueryUI is a mature and reliable framework. There is definitely an active community supporting it and plenty of information is available on blog spots and discussion forums.
Have a look at ThemeRoller. This is an excellent tool for easily creating themes for jQueryUI. It will help you when starting playing around with it.
I would perservere with it, but bear in mind that if you have what seems to be an insurmountable problem with a particular control there's generally an alternate version available in one of the many blog posts that have sprung up about JQuery.
By sticking with the framework, you'll learn how to extend it yourself, which will allow you to introduce new functionality (for instance, I recently wrote an internationalisation component in JQuery that allows me to retrieve resource strings from a web method via AJAX calls in ASP.NET).
And why not? I'm using only a few things from it and i feel happy (i.e. - 'highlight' effect).
Just don't forget to reference it through Google Api. As long as you do that - it's quite likely that you do not slow anything down (at least - not much) and lose practically nothing.
Did you consult the jQuery-UI discussion group? Maybe you can get more help there. If not, and if you decide to use jQuery-UI, then there's also commercial support (see here).
I don't think it is all that useful. It used to include autocomplete, which i thought was the most useful feature, but then they suddenly dropped it. It is a huge download if you include everything.
I've found jQuery UI quiet handy when I need to whack something together quickly, i.e. for prototyping, but like you I've also found support somewhat lacking and as mentioned above the theming leaves something to be desired.
On a recent project, looking for an alternative, I've used a couple of widgets from YUI and I have to say I'm very impressed with the whole architecture and methodology behind it. For example their autocomplete abstracts away the data source and provides overridable methods to fine tune the results set.
Finally, if I have time, I'm a big fan of rolling my own widgets. Re-inventing the wheel can be a great way to expand your knowledge and you never know, you may happen across a better solution :-)
Related
so yeah the title kinda says it all...
Bootstrap hurts my head as it seems impossible to make a form layout that is useful in the real world. Currently I am used the wizards in visual studio to make my forms... but it's impossible to display fields in a different column. Even do some type of format like we have here on this forum.
The picture below is something I would like to do... is this possible... I don't have telrik and I don't understand how to use those controls even If I did had them... but I saw stuff like that in my search.
I went to the bootstrap site.. well a few sites... one talk about the columns and stuff... the other had downloadable templates that looked nice... but there was not information on how to install them or even use them...
So what's the deal with bootstrap... Is there a site or something that breaks it down in a very simple way so that someone can understand it??
Thanks all.
Bootstrap's popularity is both their fortune and misfortune. Bootstrap is nothing more, nothing less, than a collection of commonly used elements and components for web development.
Keep in mind they came into being at a time when web development was more hectic and much more basic than today, when there were no stunning themes all over the place and developers had to style websites from top to bottom, including every last detail. And the differences between how each browser rendered them were much bigger than today.
They (Bootstrap) managed to develop a few components people could rely on. Columns that would keep their width and alignment over all browsers, images that would shrink, responsive layouts that would work in all devices and all browsers. If you inspect their solutions, most are ingenious and quite a few are "hacky" but hey, they worked!
Getting back to your question: the real problem with Bootstrap is that quite a few people misuse it, in the sense that, without knowing all of it and without taking the time to actually look at and understand the CSS rules behind it, they just apply classes over classes hoping it would work, cluttering the markup until it becomes unusable.
My advice?
Don't rush it.
When you need a component, start from the very markup Bootstrap provides. Inspect the elements and understand what you need to change in order to make it look/behave like you want. Also, always remember it's very popular. Whenever you want to do something different with a certain element, chances are someone tried it before, perhaps they didn't know how to do it and perhaps they shot a question on SO. And perhaps someone took the time to look at the CSS and do the mod properly.
From my perspective, as it is now, just by searching for high-voted answers on SO and using default examples from Bootstrap, you can solve 95% of anything you might want to achieve with it.
And when you get at the 5% you can't, come here and ask a question on Bootstrap that wasn't asked before. I bet you'll get very good answers and a lot of up-votes.
So you got nothing to lose. Best of luck!
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 1 year ago.
Improve this question
This is not a core programming problem as most posts on this website are, forgive me for that but I didn't know where else to ask this.
I am a beginner in web languages and want to build a small website for our family business, mostly a bunch of galleries that would display our different product lines with prices and some basic specs for customers to get an idea..currently I'm pursuing comp science at the undergrad level
So here is the problem, I can't decide between platforms
I started out with HTML and making a basic mock up but that didn't quite work out as i needed to have dynamic galleries that was quite hard to code by hand and since we need to update often it would be a pain even if I did manage to get it going
then I thought of Joomla as it would be easy to update but soon realized that its not that easy to customize templates
Then I started reading about Ruby on Rails and what it offers and it sounded really interesting might be useful in developing applications that we possibly would need in some time.
so I wanted to know from the community which course should one pursue: DHTML, Joomla, RoR
Please keep in mind that I want this to be a learning experience that will be useful possibly in the future in my professional career and at the same time get the job done.
I would also greatly appreciate any resources or suggestions that the community might have.
You are actually comparing apples to oranges here as DHTML, RoR, and Joomla are not the same thing. You are comparing a mark up language, to a programing framework, to a content management system. You could feasibly learn a CMS (Joomla, Drupal, Wordpress, etc) and never learn to code a single line of HTML or PHP.
For the purpose of getting a site that you can manage and edit yourself, then what you are asking is which CMS should you use. There are dozens of CMSes and opinions on which one is the best. In general are the big 3 - Wordpress, Joomla, and Drupal. Wordpress is by far the easiest to learn. It has a very simple admin that shouldn't take more than a few minutes to figure out. There are tons of themes and extensions that go along with it. The downside is that it's coded to be a blogging platform, not an extensible CMS. That means that doing things other than blogging are harder to accomplish (relative to Joomla and Drupal). It can still be done, but the more complex the site, the harder it is to do in Wordpress.
Joomla is the next step in ease of use. The admin is significantly more complex than WordPress, but a tech savvy user will get the basics down in the first couple of hours or so. Extendding Joomla is much easier for both the developer since the framework is specifically designed to be extended, and the user since installing is very quick and easy for most extensions. It's a pretty good balance between ease of use for the admin and ease of extension for the developer.
Drupal is probably the most powerful of the 3, but the trade off is in the user admin. Most non-developers will struggle to understand how the admin works or what taxonomy is and how it works. Again, the trade off is that it allows developers much more power in extending Drupal. Drupal makes it easier for the developer to accomplish much more complex tasks than Joomla or Wordpress.
At the end of the day, all 3 can accomplish the exact same thing on a website. You need to determine which one will accomplish your particular needs the best.
That said, you should still learn HTML and a programming language. My recommendation would be to learn PHP and mySQL. That will give you a solid foundation on which to build on once you are well versed. Other languages and flavors of SQL will come easier, plus many of the large open source projects are done in PHP/mySQL.
Since what you are trying to do is a pure learning exercise, I suggest you look around into a lot of things(rails/css/javascript/php etc) until you finally find the one that you will have fun playing-with. You learn faster when you can tinker with it.
Ruby on Rails may 'seem' easy to an advanced web developer. Its an advanced framework and needs considerable amount of investment in terms of time and interest and most importantly you need to have an aptitude for it. If you REALLY want to do this, and you have a general aptitude for Web programming, I suggest you start with Wordpress. Its search-engine friendly and will get you running in no time.
Learning we development and design is not a small task. It'll take you years to get even moderately good, so if you need to get something up and running now, I'd not recommend you to build it yourself.
There are a lot of nice Joomla templates and plugins available if you are ready to pay a small price for it. Search around a bit more, and you might find something that works for you.
I would start with a CMS such as Joomla or perhaps even Wordpress. Grab a template and tweak it - this will be a good introduction to coding websites as the really hard parts are already taken care of.
Once you have finished the site that you are working on then you can think about moving on to a framework such as Rails or even a PHP based once like Code Igniter. The frameworks will take a lot longer to figure out but at the end of the day they will give you a better learning experience then just tweaking a CMS template.
I would say it depends on your goal. As mentioned they have different purposes. That said I would say Joomla or Rails.
If you are interested in CMS (or design), and don't want/care about getting down and dirty into coding then I would use Joomla and learn what you need to acccomplish your goal.
If your goal is to be able to develop custom web APPLICATIONS, I would probably learn Rails. There is much more of a learning curve but you will get experience with things like html5, javascript (or coffeescript), css3 (or sass), exposure to the MVC model (model view controller) and exposure to Ruby.
But with Rails there is a lot more to learn, but you will have a lot of knowledge.
If you want to go down the rails path, maybe start with a Rails CMS (like locomotive or refinery) b/c they are written in Rails, you could look at the code or have some insight into the CMS. Disclaimer I have not used a Rails CMS (just did some research)
I would choose Joomla. They have a vast array of components and modules that should meet your needs. As far as customization, if you are a beginner this will be difficult no matter the platform. DHTML is not a platform. DHTML is mainly javascript, css and php. I suggest you get some books on doing dynamic stuff with javascript and jquery, styling with css and creating MVC sites with PHP. When you learn all this first your job customizing an whatever platform will be much much easier.
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 1 year ago.
Improve this question
I love working with Rails but I keep tripping up against my own inefficiency: I'll spend time implementing some "useful" function only to discover subsequently that it was already in the framework, had I but known it!
Particular areas of wheel reinvention for me are
helpers and built-in class extensions
recently-released features that may not yet have lodged in my brain
plugins (a taxonomy of Rails plugins, if such a thing makes sense, would be a boon)
migration options
less-frequently used rake tasks
the options hash on just about everything
Obviously (?) we can't all remember all this stuff all the time. There are "cheat sheets", but unless they're up-to-date they can potentially compound the problem by appearing authoritative when they're really targeted at older versions.
What do you do to minimize this excise? Can anything be done?
I wondered if a set of Big Visible Charts might help, although goodness knows where I'd stick them in an open-plan office.
One thing here is to know about the existence of particular feature (plugin, gem, etc) in the first place. That's why
I try to keep up to date with the information about the edge Rails.
I follow many blogs and try to if nothing else then run over the titles every day, just to have it leave at least some tiny footprint in my memory.
That's for the passive part. Now for the active:
As I fly through the new features/plugins I try to imagine at least some use case in which it might be helpful in what am I working on right now - this exercise helps me to remember the thing, since I connect it to my actual conceptual system.
In my less serious projects I really try experiment with new things.
On SO I often answer questions I'm not sure about or I don't really know anything about but they seem interesting to me - then I do some research and extend my knowledge on that particular topic.
I don't think that "big visible charts" can help in the long run. I only use cheat sheets when learning new things and it's really only a short term thing. Exellence is a habit, as Aristotle said.
This isn't just a problem with Rails, but with any framework. Programmers I know who have worked for years with Delphi still are shocked to find simple standard functions that they'd replicated.
WRT Rails, Mike Gunderloy recently wrote about highlighting text, and ended with this wise tidbit:
It’s worth taking a dip into ActionView::Helpers occasionally to see what other bits of functionality are lurking that you’ve forgotten about.
Any time I need to do something I think should be easier than it is, I do a quick check there, as well as Google, to make sure I'm not about to waste a ton of time.
I face this problem as well- and it was a lot worse when I first started with RoR. Now after over 1.5 years, I know what's available pretty well.
Basically what I do is if I am using parts of the framework I know... no big deal. If I need to do something I will likely have to create myself, I first google it or search the Rails API. Lately I have also begun searching github and some of the plugin sites like railslodge.com.
While this does not completely solve the problem, it has helped dramatically.
I surf over the rails blogs in my RSS feed reading the headlines and just enough to figure out what the article is about. This gives me a good breadth of knowledge but pretty shallow. Still it lets me know what is out there. Like yesterday when I saw a blog post about a highlight helper (I had no idea it existed. Now I do and if I ever need it I know to look for it - even without reading the post in depth). I also open the posts I want read in depth in another tab for later (I used to use ReadItLater but it got out of hand) and as i read them i write notes in a post on my own blog more for my own benefit than for others - to get into memory and to ensure I can find it later.
The other thing I do when I am entering uncharted or forgotten territory is to I ask a question here about best practices or specific details even if I think I know the answer. For example I couldn't remember the names of the popular plugins for tracking edit histories of records (acts_as_audited and acts_as_versioned). I had the answer in 15 minutes.
It turns solo programming into programming in one of those cool noisy dev shops with a foosball table and lots of other people who know stuff i don't.
I tend to assume that most types of basic problems I'm solving have already been solved by someone else; by starting with the assumption my thoughts aren't along the lines of "how do I build this" but "where do I find it" and of course google, the wikis and the plugin and gems lists all play a part in that. I have written very little code that isn't directly related to my business domain.
I write tests first. Then code. Sometimes the framework does it for me and I don't have to write code. :)
I don't think Rails is any different than other frameworks... it takes a while to know where things are. The best you can do is read the API docs and see what's there. You don't need to learn how to use it, just what is there and get an idea of how to look for it when you need it.
Also, it's not a bad thing to write code that someone else already has. You learn from it. Later you just swap in the framework mojo and see if your tests still pass. If so, you're good and you know how the internals of one part of the framework probably work.
I believe the key to eliminate the time wasted on reinventing the wheel is to have a very handful tool to search inside the Rails helpers/capabilities.
On one hand a good choice of IDE could help a lot. On the other hand - a very good online (offline) edge documentation with an ability to quick search through it. These days one of our russian Rails programmers made one: http://railsapi.com/. The search is done in a very MacOS style, making it a very good choice for a fast diggin'.
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 3 years ago.
Improve this question
What are the biggest problems that is being encountered with ASP.Net MVC and what have you done to work around them?
So far my biggest problems are:
Problem: Keeping up with the changes (RCx, beta, etc).
Workarounds: Compiling till it works.
Problem: Remembering and dealing with the Futures DLL.
Workaround: Download the latest, compile till it works.
I haven't had any real problems. That said I have written my own library of useful helpers to make life much easier for me. Most of it is similar to the futures library, but i think i've taken mine much further. It mainly revolves around integrating form components, model binders and validators together so that you can get a fully working, validating CRUD page within seconds with minimal code.
I quite like the fluent validation
Rules(
Ensure(x => x.Date).IsLessThan(DateTime.Now),
Ensure(x => x.Telephone).HasMinimumLength(12),
Ensure(x => x.Email).IsValidEmailAddress()
);
That said, futures by itself is an excellent package and makes mvc a great tool to use. I think the main problems with it are the lack of comprehensive tutorials and documentation. As its relatively new and been through so many breaking changes recently that many blog posts on the topic are out of date.
I think once its hit RMT things should get easier for beginners.
Documentation, documentation, documentation. Additionally we need a one stop place for best practices beyond the basic beginner stuff. The ASP.NET MV C page has nice tutorials, but most are simple tutorials. We need a Cookbook of sorts I think ;)
I think all this will come with time - especially after the final release. however it is a bit frustrating to get going now (even with RC2) and have most of the stuff out there already outdated since it references Beta and Preview code :(
It seems like most tutorials have the validations set up in the controller, rather than the model, which I don't like
When you compile your code, it doesn't compile code that's in the views
The routes are a disgusting mess
I'd like to switch some of my projects over to not use code-behinds, but either they all have to have code-behinds, or none of them.
The testing still isn't matured (I think that will come with time, though)
It's worth nothing that ASP.MVC 1.0 is RTM as of today.
You realize you are using preview/beta/RC software, right? It is to be expected that things will change.
Most of the problems I have encountered in working with ASP.NET MVC over the past year or so have been a result of my ignorance. Preview 2 -> Preview 3 was a real pain, but that was about it.
Right now, the only thing I really fight with is
return Json(data);
It sees circular loops in my data when I really can't find any. I'm sure there's some behavior that I'm not aware of causing this, so I'm attributing this to my own ignorance still. Maybe if there were some way to tell it to ignore certain properties, I could work around this without having to build a Dictionary/List every time I want to return JSON from an action.
Another thing that I really don't have a problem with, but I remember a lot of people whining about, is that so many methods take anonymous objects. Namely route definitions. Intellisense doesn't tell you what kinds of key/value pairs a method expects in its anon. objects, so it can be difficult to use if you aren't familiar with the framework.
I love the fact that it is cutting edge and I even enjoy the challenge of upgrading my apps (although sometimes I push it off 'till I have more time).
what bothers me sometimes is the lack of mature controls that would make simple recurring tasks (think validation, data binding) much easier.
But never during my day do I regret using MVC or even consider using webforms. I am hooked on asp.net mvc and haven't made anything larger than a single form on anything else fro over a year.
I think the fact that you have to run something to even see if it "Really" compiles is its biggest obstacle. All that "CODE" in your HTML markup can lead you easily down the path to the classic asp spaghetti code problem. Look for the compiler to improve in later versions.
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
Is there a good ruby gem for a WYSIWYG editor that will easily work with a rails app?
Though it's certainly not a direct answer, in the past I've found I prefer to use RedCloth (or a Markdown parser if you don't enjoy Textile) and use a simple textarea with an AJAXy preview. Generally speaking, WYSIWYG editors have a long history of creating redundant tags and similar, leading to potentially broken pieces of HTML.
While I know this has been answered I wanted to add regarding the use of textile... I completely agree, but I'd recommend processing it in a before_save filter. Let's say you have a database field called "details" - just add one called "details_html". Then do something like this...
before_save :convert_details
def convert_details
return if self.details.nil?
self.details_html = RedCloth.new(self.details).to_html
end
RedCloth can get a little process heavy and if you are constantly processing the stuff on each render you're going to run into some memory issues... this will just help lower some of your needed resources.
Update for 2010. I just implemented TinyMCE in a Rails app using the tinyMCE gem.
You can find it here: http://github.com/kete/tiny_mce
It took less than 5 minutes and in my basic testing, it's working perfectly. There was a commit in June 2010, so it looks like this is an actively developed gem.
Hope that helps some googlers.
I'm not sure about a Ruby Gem, but TinyMCE is a customizable, generally stable WYSIWYG editor that is fairly simple to integrate w/ any project. I've used it a number of times.
A similar question: What is the best WYSIWYG for Rails - Ruby on Rails Blog
I just pasted my same solution here too.
I strongly suggest you give WYSIHAT a try. The biggest problem with the editors mentioned above is its bulky size and "hard-to-customize"(ability). The bad code in most of these editors is a big turn-off. WYSIHAT is more like a framework for a WYSIWYG editor. Extremely easy to customize. Easy to configure. And what more.. Its backed by 37signals. What i would appreiciate about TinyMCE is its paste from word feature which preserves the layout. But if not for that one feature i find the rest really bulky.
Please do read this article: http://37signals.com/svn/posts/1330-introducing-wysihat-an-eventually-better-open-source-wysiwyg-editor
Tutorial on using WYSIHAT: Part 1: http://jrmehle.com/2009/01/25/wysiwhat-wysihat-part-1/
Part 2: http://jrmehle.com/2009/02/13/wysiwhat-wysihat-part-2/
And to make your life even easier theres an awesome rails-engine developed by Jeff Kreeftmeijer (80beans.com) for the 37signals WYSIHAT editor: http://github.com/80beans/wysihat-engine
And heres an article by Jeff Kreeftmeijer: http://www.80beans.com/2009/10/01/wysihat-engine/
I use FCKEditorOnRails plugin: http://github.com/UnderpantsGnome/fckeditor_on_rails/tree/master
Note that you can generally drop in the latest version of FCKEditor without much tweaking if you're running into bugs in the older version.
Have a look at http://livepipe.net/control/textarea
for a WYSIWYG markdown editor with the AJAXY preview mentioned in the chosen answer.
There is a plugin to use TinyMCE with rails, lots of information on the rails wiki.
+1 for FCKEditor - there is a great Rails plugin that includes helpers. However it is often overkill as it features everything. In many cases something a little simpler such as jQuery's WYSIWYG editor is great for wrapping a text area input.
I'm really loving CKeditor gem. It's much, much more elegant than TinyMCE, especially if you deal with raw HTML. CKeditor displays on page--TinyMCE gives a popup. CKeditor allows access to things like all headings right out of the box, too. TinyMCE requires hacking.
RedCloth's inability to support ALL HTML was a dealbreaker for me. (Among other things, you can't support giving an image a description OR a caption!!!!) I didn't mind the markup so much as the complete lack of flexibility. Plus, it was like learning a new language--a lot of the markup was the opposite of intuitive (like image alignment), and I couldn't possibly imagine asking contributors to learn all that.
For comments, I will use something much lighter weight, though.
I had bad experiences with CKEditor (gem "ckeditor") .. I managed to get it to work on local maschine but had a lot problems when trying to deploy it to Heroku .. It seems like code is too heavy to automatically precompile the code on Heroku ... That means it is quite useless ...
EDIT:
Solution: make sure that you precompile javascript before deploying it on Heroku.
I would use Tiny MCE it is a Java Script solution I have integrated with Web Applications to edit HTML.
http://www.tinymce.com/