ajoslin / angular-mobile-nav

An angular navigation service for mobile applications
http://ajoslin.github.com/angular-mobile-nav
MIT License
785 stars 135 forks source link

Roadmap for v2.0 #48

Open ajoslin opened 11 years ago

ajoslin commented 11 years ago

read last comment by @ajoslin

ajoslin commented 11 years ago

please leave suggestions / wishes :-)

FdezRomero commented 11 years ago

This is awesome. Really looking forward to it and (probably) stop using Overthrow.js

0x-r4bbit commented 11 years ago

So angular-mobile-nav wouldn't be part of angular-ui someday? Anyways. Would love to help out where I can. BTW: coming weekend I'll spend time to write the docs for angular-promise-tracker and hope to finish my first draft on reusable angular components specification.

ajoslin commented 11 years ago

This might actually be better to put in something like ui-mobile ... hmm

0x-r4bbit commented 11 years ago

So, is it planned to move this over to AngularUI?

ajoslin commented 11 years ago

Yes. Probably just many ui-mobile-* components or something.

drewes commented 11 years ago

Would look forward to ui-router. Great combination. Using Twitter Bootstrap would also be great.

steve21124 commented 11 years ago

is it possible to use https://github.com/ajoslin/Snap.js with angularjs?

ajoslin commented 11 years ago

Yes, Snap.js can work with Angular. I wrote a directive & service that I use internally (directive manages the DOM for snap.js, service provides open/close functionality to the rest of the app). I haven't polished it yet, though, but will release it sometime.

fotomut commented 11 years ago

+1 for this. Is the unpolished directive available online yet?

On Sun, May 12, 2013 at 8:53 PM, Andy Joslin notifications@github.comwrote:

Yes, Snap.js can work with Angular. I wrote a directive & service (directive manages the DOM for snap.js, service provides open/close functionality to the rest of the app). I haven't polished it yet, though, but will release it sometime.

— Reply to this email directly or view it on GitHubhttps://github.com/ajoslin/angular-mobile-nav/issues/48#issuecomment-17788808 .

ajoslin commented 11 years ago

@fotomut Not yet. I probably won't have time to touch this mobile stuff until next week, finishing other things.

I'll be working on virtual scroll first, but will be sure to release that asap.

forresst commented 11 years ago

Although you do not want something like jQuery Mobile. Is the use of CSS jQuery Mobile would be possible?

ajoslin commented 11 years ago

Yes, the idea is that this will be as layout agnostic as possible.

reurgency commented 11 years ago

Andy, Snap.js rocks! Your contributions to the community are amazing. Question though - How do you set different content for the right-drawer?

ajoslin commented 11 years ago

I didn't make it! That's a fork :-)

Check out http://github.com/jakiestfu/Snap.js - it has more updated docs about that stuff

rtpm commented 11 years ago

angularjs >= 1.1.4 has a ngMobile module with ngTap & ngSlide directives. Maybe you could make use of them.

atian25 commented 11 years ago

is this started? when will publish 2.0 preview?

ajoslin commented 11 years ago

We'll just use ngMobile's events, they are going to be better and better in future (1.1.5 has some slick ngSwipe events and a cool ng-click improvement) And maybe we will drop jqMobi to save filesize ... even though jqlite compiles slower... we'll see.

ajoslin commented 11 years ago

https://github.com/ajoslin/angular-scrolly initial-initial version of fake-scroller up. Uses grunt-ngdocs :D

It works though!

yohairosen commented 11 years ago

this is great, i've just started developing HTML5/CSS3 based apps. Exploring my options, I was just thinking of something like this, i'm a huge fan of AngularJS and i was surprised i couldn't find any simple lightweight library i could integrate easily, this one defiantly looks promising.

great work!

ajoslin commented 11 years ago

Thanks @yohairosen!

Angular really is a great solution for mobile. The memory/DOM management of Angular is awesome (only what you are using now is in memory/DOM). Memory management is one of the big complaints I've heard from people trying to make hybrid mobile apps.

The data binding also makes your app code small. Angular itself is large, but everything else requires little code.

I'd say the biggest problem right now is scrolling large lists ( fixing with virtual scrolling :-) ), and page compilation time when switching pages (a better dom compilation library will help with this, with hopefully some way of early/late loading pages. I have some ideas for this).

Hybrid apps are really never going to be as nice as native, but they can get pretty close. I have made some stuff that's very nice with Angular & hand-rolled minimal css (flat UI is actually a really great trend for hybrid app performance haha). And the browsers are only getting better.

yohairosen commented 11 years ago

@ajoslin I agree, Angular truly has some amazing capabilities.

You can preload your html pages, you won't have much control over it but you can achieve templates preloading by placing them in your index.html along with your js scripts and css.

BTW, i've tried playing with your UI css, the buttons states doesn't seem to work on the actual device. Works just fine the web & Ripple - any ideas?

ultrawebsites commented 11 years ago

Hi Andy

Since you asked...! I had been using angular-mobile-nav for a while, until I saw the recent progress that has been made on AngularJS and with AngularUI (router), at which point I decided to swap, particularly as per some recent comments of yours suggesting to do so also.

However, your roadmap for v2.0 is quite fascinating, and finding me pulled back in again having seen this thread now. However, the main reason I'm commenting is in fact possibly out of scope - or the name would perhaps no longer be so pertinent anymore.

What you're wanting to do, whilst it sounds great, in my view is relevant to the web in general (or web apps in general at least), and not just mobile. For example:

Having reviewed what I have just written here, I guess what I am actually suggesting is that your library should be 'app focused', instead of just 'mobile focused'.

Food for thought anyway :)

ajoslin commented 11 years ago

Hi @ultrawebsites! Thanks for the feedback. Interesting points :-)

hmm.. I would like to focus on mobile first and make sure it works great there, with a small footprint ... I am not really worried about Desktop, but nonetheless right now everything I have made works there.

Perhaps I should just call it angular-touchy-library or something :-p

I think you're right about windows phones and the like, I will probably switch to using Stylus for CSS and making sure I support as many browsers as possible.

So you're saying the focus of the library should instead be "this works great on mobile, so you can use it for desktop too!"

billdami commented 11 years ago

So you're saying the focus of the library should instead be "this works great on mobile, so you can use it for desktop too!"

I think a good way to phrase it is that this is a "mobile first" library. Which aligns it nicely with Bootstrap's mission statement for their upcoming 3.0 release. And being able to use this in conjunction with bootstrap 3 is something I would love to see in the near future. :)

ajoslin commented 11 years ago

So just an update!

What have I said before about jQuery Mobile? It's bloated and way too big and slow.

..But what if we just used jQuery mobile's really mature and well-working-across-platforms css? And then wrote plain angularjs javascript for everything in there? It would be great. We'd have slide-out menus, switches, all the page transitions we want, etc.

@tigbro started this idea, and I've been pushing to that a lot lately. http://github.com/opitzconsulting/angular-jqm

angular-jqm already has an amazing routing implementation that tigbro built that supports a billion transitions, view caching (so next to no loading time), scope caching (so you save your data), and browser history (back button works!)

I think this is a great way forward for any mobile developer: you can make the jquery mobile css be skinned to look like anything (I like this theme for example), and it is very mature css that works on every platform.

I will probably keep this repo bug-fixed and updated just so people can have a minimal routing 'framework' to use.

But angular-mobile-nav 2.0 will not exist, and will look a lot like jquery-mobile.css+angular.js+angular-jqm.js I think :smile:

tbosch commented 11 years ago

+1

0x-r4bbit commented 11 years ago

Yea. This is a good decision.

On Wed, Jun 26, 2013 at 3:19 PM, Tobias Bosch notifications@github.comwrote:

+1

— Reply to this email directly or view it on GitHubhttps://github.com/ajoslin/angular-mobile-nav/issues/48#issuecomment-20046059 .

/pp

forresst commented 11 years ago

+1 ;-)

aallsbrook commented 11 years ago

Hey Andy, Thanks for the update, I agree with leveraging jquery's mobile css. Quick question, before I start ripping things out and replacing with angular-jqm, from your perspective - how far along is that project? Is it ready to take over for the angular-mobile-nav we are using today?

ballertv commented 11 years ago

Anyone have any good sample code of how the angular-jqm can take the place of the angular-mobile-nav code? What do we use instead of the ? Any more help on routing would be great.

BTW... Andy, thanks for all the awesome work with Angular!

artworkad commented 11 years ago

+1

whitneyland commented 11 years ago

@ajoslin things seem to be getting a little crazy here.

Having foundational mobile functionality for Angular depend on JQM seems like a bad idea. The dependency is too large, many people don't like JQM, and the spirit of it is too different from angular.

Why not integrate with UI-Router? It looks like they are refactoring to use $view in a way that might be helpful.

In fact, I'm not sure how many "mobile" projects need to maintained separately from the other UI components.

Mobile is a core scenario not an add on.

ajoslin commented 11 years ago

I agree with what you're saying... Mobile for angular should not always require jqm.

But angular-jqm does the best job at fitting my needs as a developer for what I do, and that is the only reason I am able to invest time into it.

If you want to develop this library, I will add you as a contributor (serious)

On Monday, August 5, 2013, WhitneyLand wrote:

@ajoslin https://github.com/ajoslin things seem to be getting a little crazy here.

Having foundational mobile functionality for Angular depend on JQM seems like a bad idea. The dependency is too large, many people don't like JQM, and the spirit of it is too different from angular.

Why not integrate with UI-Router? It looks like they are refactoring to use $view in a way that might be helpful.

In fact, I'm not sure how many "mobile" projects need to maintained separately from the other UI components.

Mobile is a core scenario not an add on.

— Reply to this email directly or view it on GitHubhttps://github.com/ajoslin/angular-mobile-nav/issues/48#issuecomment-22147897 .

...sent from my iPhone

tbosch commented 11 years ago

Hi, you can use angular-jqm without jqm too! E.g. the following directives don't use the jqm stylesheet:

Also the following directives should be really usable if you define your own css stylesheet with the same names as jqm does:

I like angular-jqm as it has a fixed and concrete goal (reimplement jqm with the same stylesheet). By this, it's easier to make decisions also in the team. When we are finished this is a good baseline for a more general mobile project, including everything that we have learned while implementing angular-jqm.

However, as I said, you can use angular-jqm without jqm right now.

Hope this helps, Tobias (@tigbro)

whitneyland commented 11 years ago

Even without the jqm style sheet, I think angular-jqm is not a good foundation to build on. Why reimplement functionality that is already being built and maintained in angular-ui like transitions and animations?

I'm not trying to stop anyone from doing anything, I'm just trying to see if I agree with the justification to decide what projects to use and contribute to going forward.

Just so no one's in the dark I asked the corresponding question for ui-router: https://github.com/angular-ui/ui-router/issues/297